Implement tracing::Event handling & parent_id for spans and events (#6672)

* implement events handling, implement parent_id for spans & events

* add events to sp_io::storage

* update test

* add tests

* adjust limit

* let tracing crate handle parent_ids

* re-enable current-id tracking

* add test for threads with CurrentSpan

* fix log level

* remove redundant check for non wasm traces

* remove duplicate definition in test

* Adding conditional events API

* prefer explicit parent_id over current,

enhance test

* limit changes to client::tracing event implementation

* remove From impl due to fallback required on parent_id

* implement SPAN_LIMIT

change event log output

* change version of tracing-core

* update dependancies

* revert limit

* remove duplicate dependency

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

Co-authored-by: Matt Rutherford <mattrutherford@users.noreply.github.com>
Co-authored-by: Benjamin Kampmann <ben@parity.io>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
This commit is contained in:
mattrutherford
2020-08-12 12:53:21 +01:00
committed by GitHub
parent 64901c015e
commit 9442c19b48
10 changed files with 288 additions and 49 deletions
+1 -1
View File
@@ -46,7 +46,7 @@ test-case = "0.3.3"
sp-runtime = { version = "2.0.0-rc5", path = "../../primitives/runtime" }
sp-tracing = { version = "2.0.0-rc5", path = "../../primitives/tracing" }
sc-tracing = { version = "2.0.0-rc5", path = "../tracing" }
tracing = "0.1.14"
tracing = "0.1.18"
[features]
default = [ "std" ]
@@ -661,7 +661,8 @@ fn parallel_execution(wasm_method: WasmExecutionMethod) {
fn wasm_tracing_should_work(wasm_method: WasmExecutionMethod) {
use std::sync::{Arc, Mutex};
use sc_tracing::SpanDatum;
use sc_tracing::{SpanDatum, TraceEvent};
struct TestTraceHandler(Arc<Mutex<Vec<SpanDatum>>>);
@@ -669,6 +670,8 @@ fn wasm_tracing_should_work(wasm_method: WasmExecutionMethod) {
fn handle_span(&self, sd: SpanDatum) {
self.0.lock().unwrap().push(sd);
}
fn handle_event(&self, _event: TraceEvent) {}
}
let traces = Arc::new(Mutex::new(Vec::new()));