NativeScript / NativeScript/android

Improve logging routine in runtime engine

Aperta
#641 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

feature
Lingua principale
C++
Stelle
563
Fork
144
Merge medio
10h 46m
PR unite (30g)
14

Descrizione

Debug log messages need to be improved by providing additional information, such as TID, Category, and provide a better verbosity overall. This will allow us to spot bugs more easily when reported by users, as well as to pinpoint potential bottlenecks in the engine.

The improved logging should provide more granular control of the logs, or just categorization of the different execution paths in the runtime. It can be modeled after the Tracing routine in .NET -> https://msdn.microsoft.com/en-us/library/sk36c28t(v=vs.110).aspx

Trace (Log) statements throughout the runtime code (Instrumentation of the code) are categorized with a relevant preset category. If a listener is attached for that category, messages will be output as per the Listener's implementation. - Default LogCat implementation should be available for all categories.

Can be enabled by setting the "android": { "diagnosticTracing": true } in the project's package.json

Micro benchmarking can also be enabled to record time spent in execution of most key methods (that are measurable, can be measured with little to no error added by resolution timing - time spent to record start and end time). The benchmarking routine should output logs in a parsable manner for easier visualization.

Can be enabled by setting the "android": { "diagnosticBenchmarking": true } in the project's package.json

Enabling tracing could and probably WILL impose a performance penalty

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia individuando il codice esistente di logging e strumentazione del runtime engine, quindi esamina la gestione di package.json per android.diagnosticTracing e android.diagnosticBenchmarking. Usa come contesto il modello .NET Tracing collegato. Il lavoro è completato quando sono disponibili, tramite queste impostazioni, un tracing categorizzato e configurabile e log di benchmarking analizzabili, con la penalizzazione delle prestazioni documentata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, cpp
Ambito
mobile-dev, observability, performance
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.