tracing-stackdriver
A tracing
Subscriber for communicating Stackdriver-formatted logs
tracing
is a scoped, structured logging and diagnostic system based on emitting Event
s in the context of potentially-nested Span
s across asynchronous await
points. These properties make tracing
ideal for use with Google Cloud Operations Suite structured logging (formerly Stackdriver). This crate provides a Layer
for use with a tracing
Registry
that formats tracing
Spans and Events into properly-structured JSON for consumption by Google Operations Logging through the jsonPayload
field. This includes the following behaviors and enhancements:
rfc3339
-formatted timestamps for all Eventsseverity
(inLogSeverity
format) derived fromtracing
Level
target
derived from the Eventtarget
Metadata
- Span
name
and custom fields included under aspan
key - automatic nesting of
http_request.
-prefixed event fields - automatic camelCase-ing of all field keys (e.g.
http_request
->httpRequest
)
Examples
Basic setup:
use ;
use Stackdriver;
Custom write location:
use ;
use Stackdriver;
With httpRequest
fields:
See all available fields here
// requires working global setup (see above examples)
use Request;
Roadmap:
- type-safe
http_request
s derived from Google's REST v2 spec - distributing tracing data in Cloud Trace format