Skip to content

Commit

Permalink
Attempts to show data responsibility at the arch abstraction
Browse files Browse the repository at this point in the history
While the architecture doc shouldn't focus too much on wire formatting,
it can clarify who's ultimately responsible for data quality, and use
examples in json or headers to illustrate that.

See #68
  • Loading branch information
Adrian Cole committed Jan 11, 2017
1 parent 2447937 commit cbe7740
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions pages/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,49 @@ Here's a diagram describing this flow:
To see if an instrumentation library already exists for your platform, see the
list of [existing instrumentations]({{ site.github.url}}/pages/existing_instrumentations).

Data Ownership and Flow
-----------------------

As mentioned in the overview, identifiers are sent in-band and details are sent
out-of-band to Zipkin. In both cases, trace instrumentation is responsible for
creating valid traces and rendering them properly. For example, a tracer ensures
parity between the data it sends in-band (downstream) and out-of-band (async to
Zipkin).

Propagated in band
┌───────────────────┐
│ X─B3─TraceId │
TraceContext │ │
┌──────────────┐ │ X─B3─ParentSpanId │
│ TraceId │ ┌────▶│ │
│ │ │ │ X─B3─SpanId │
│ ParentSpanId │────┘ │ │
│ │ │ X─B3─Sampled │
│ SpanId │──┐ └───────────────────┘
│ │ │
│ Sampled │ │ Reported out of band
└──────────────┘ │ ┌─────────────────────────────────────┐
│ │{ │
└──▶│ "traceId": "35cb9095c9e18d62", │
│ "parentId": "35cb9095c9e18d62", │
│ "id": "3132b7749db08a71", │
│ "name": "get", │
│ "timestamp": 1484105262951000, │
│ "duration": 100000, │
│ "annotations": [
│ { │
│ "timestamp": 1484105262951000, │
│ "value": "cs", │
│ "endpoint": { │
│ "serviceName": "frontend", │
│ "ipv4": "127.0.0.1", │
│ "port": 8081 │
│ } │
│ }, │
│--snip-- │
└─────────────────────────────────────┘


Transport
---------
Expand Down

0 comments on commit cbe7740

Please sign in to comment.