Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MB-10364] Document Open Telemetry data available in AWS #51

Prev Previous commit
add in specification links and grammatical fix
  • Loading branch information
duncan-truss committed Dec 1, 2021
commit f3a037c3488f0cb5bae4d7ee51880335d54967a2
8 changes: 6 additions & 2 deletions docs/backend/guides/open-telemetry.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Open Telemetry

The Milmove app has had aspects of logging (Zap), tracing (trace middleware), and monitoring (AWS infra dashboards) previously but there is now an [ADR to use the Open Telemetry library](https://github.com/transcom/mymove/blob/master/docs/adr/0061-use-opentelemetry-for-distributed-tracing.md) to standardize our efforts. While not solely useful just for load testing, it did expose our need for better insight into the performance of the Milmove app and it's services.
The Milmove app has had aspects of logging (Zap), tracing (trace middleware), and monitoring (AWS infra dashboards) previously, but there is now an [ADR to use the Open Telemetry library](https://github.com/transcom/mymove/blob/master/docs/adr/0061-use-opentelemetry-for-distributed-tracing.md) to standardize our efforts. While not solely useful just for load testing, it did expose our need for better insight into the performance of the Milmove app and it's services.

- [Implementation](#implementation)
- [Environment configuration](#environment-configuration)
Expand Down Expand Up @@ -72,7 +72,9 @@ Data from the Milmove app is sent to the Open Telemetry collector, which process

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this context

### Traces

*Common Trace fields*
A trace can be thought of as a tree linked structure of one or more spans that represent a segment of time. A single trace may contain child spans that include the duration of the HTTP API request on the server and span(s) for the database calls within that lifecycle. [The Open Telemetry specification](https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/) defines semantic conventions that our libraries primarily follow for span attribute names and values.

**Common Trace fields**
- ID
- Parent ID
- Trace ID
Expand Down Expand Up @@ -119,6 +121,8 @@ Spans/segments will be added to the current trace when database queries (Select)

### Metrics

Open Telemetry defines three primary metric instrument types to be counters, measures, and observers. Metric events should conform to the [metrics specification](https://opentelemetry.io/docs/reference/specification/overview/#metric-signal), which supports both non-aggregated and pre-aggregated measurements.

#### HTTP
HTTP Request Count
- HTTP Protocol Version
Expand Down