Skip to content

Instantly share code, notes, and snippets.

@ericmustin
Last active March 25, 2021 12:55
Show Gist options
  • Save ericmustin/25a1446bf7fe383d40a286cc24d7204a to your computer and use it in GitHub Desktop.
Save ericmustin/25a1446bf7fe383d40a286cc24d7204a to your computer and use it in GitHub Desktop.
dd-otel-comparision
1. Datadog https://a.cl.ly/4gu90zpp
dd api intake
+----------------------------------------------------------------------------------------------------------------------+
| |
| |
| ^ |
| | |
| | |
| | |
| | |
| | user application |
| | |
| | +----------+----------+--------+-----+--------------+ |
| | | | | | | | |
| | | | | | | | |
| + | | | |custom | |
| | | | | | | |
| dd-agent + trace-agent | flask | redis | sql | | | |
| +---------+ | | | alchemy| | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | + | + | | |
| | | | | + | | | | | | |
| | | | + | | | | | | | | |
| +---------+ +----------+----------+--------+-----+ | |
| | | | | | | |
| ^ +-----v---------------------------------------------+ |
| | | dd-trace-py +------------+ +----------------------| |
| | | +---------+ |all | |manual ||exporting|| |
| | | |runtime | |integrations| |tracing ||to agent || |
| | | |metrics | +------------+ |api +-----+-----+ |
| | | +---------+ +----------+ | | |
| | +---------------------------------------------------+ |
| | | ^ | | |
| | +-------------------------+-------------------------+ |
| | this is all one package + | |
| <----------------------------------------------------------------------------------------------v |
| |
+----------------------------------------------------------------------------------------------------------------------+
2. Otel (without Datadog exporter) https://a.cl.ly/p9uGpjgn
arbitrary vendor api
+----------------------------------------------------------------------------------------------------------------------+
| |
| |
| ^ |
| | |
| | |
| | |
| | |
| | user application |
| | |
| | +----------+----------+--------+-----+--------------+ |
| | | | | | | | |
| | | | | | | | |
| + | | | |custom | |
| | | | | | | |
| | flask | redis | sql | | | |
| +---------+otel collector | | | alchemy| | | |
| | |(basically a lightweight | | | | | | |
| |nr export|trace-agent) | | | | | | |
| |lightstep| | | | | | | |
| |honeycomb| | | | | + | | |
| |etc | | | + | | | | | |
| | | | + | | | | | | | |
| +---------+ +--------------+ +----------+----------+--------+-----+ | |
| |zipkin | | | | | | |
| ^ +-------------+ |host | +-----v-------+-------------------+-----------------+ |
| | |jaeger | |collector? | |otel-python|otel|otel|otel-span |otel | |
| | |host | +--------------+ | |py |py |processor |(jaeger|zipkin| | |
| | |agent? | |api |flask | |prometheus| | |
| | +---+---------+ ^ | | |redis |stdout| | |
| | ^ | | | | | |collector) | |
| | | | | | | | |exporter | |
| | | | | ^ | ^ | ^ | ^ | ^ | |
| | | | +-----+-----+--+-+--+-+----+-------+------+---+-----+ |
| | | | these are all seperate packages | |
| <-------+----------------------+---------------------------------------------------------------v |
| |
+----------------------------------------------------------------------------------------------------------------------+
3. Otel (with Datadog exporter in OpenTelemetry Collector)
datadog intake api
+----------------------------------------------------------------------------------------------------------------------+
| |
| |
| ^ |
| | |
| | |
| | |
| | |
| | user application |
| | |
| | +----------+----------+--------+-----+--------------+ |
| | | | | | | | |
| | | | | | | | |
| + | | | |custom | |
| | | | | | | |
| | flask | redis | sql | | | |
| +---------+otel collector | | | alchemy| | | |
| | |(basically a lightweight | | | | | | |
| |datadog |trace-agent) | | | | | | |
| |exporter | | | | | | | |
| | | | | | | + | | |
| |(other | | | + | | | | | |
| |vendors) | | + | | | | | | | |
| +---------+ +--------------+ +----------+----------+--------+-----+ | |
| |zipkin | | | | | | |
| ^ +-------------+ |host | +-----v-------+-------------------+-----------------+ |
| | |jaeger | |collector? | |otel-python|otel|otel|otel-span |otel | |
| | |host | +--------------+ | |py |py |processor |(jaeger|zipkin| | |
| | |agent? | |api |flask | |prometheus| | |
| | +---+---------+ ^ | | |redis |stdout| | |
| | ^ | | | | | |collector) | |
| | | | | | | | |exporter | |
| | | | | ^ | ^ | ^ | ^ | ^ | |
| | | | +-----+-----+--+-+--+-+----+-------+------+---+-----+ |
| | | | these are all seperate packages | |
| <-------+----------------------+---------------------------------------------------------------v |
| |
+----------------------------------------------------------------------------------------------------------------------+
4. Otel (with Datadog exporter in OpenTelemetry-SDK) https://a.cl.ly/YEuoG8mP
dd api intake
+----------------------------------------------------------------------------------------------------------------------+
| |
| |
| ^ |
| | |
| | |
| | |
| | |
| | user application |
| | |
| | +----------+----------+--------+-----+--------------+ |
| | | | | | | | |
| | | | | | + | |
| + | | | |custom | |
| | | | | + | |
| dd-agent + trace-agent | flask | redis | sql | | | |
| +---------+ | | | alchemy| | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | + | | |
| | | | | + | | | | | |
| | | | + | | | | | | | |
| +---------+ +----------+----------+--------+-----+ | |
| | | | | | |
| ^ +-----v-------+-------------------++----------------+ |
| | |otel+python|otel|otel| | | |
| | | |py +py | datadog | datadog |this |
| | |api |flask + span | exporter |literally
| | |(+dd | +redis processor | 1. translate |imports |
| | |propagation) | + | 2. send to |dd-trace|py
| | | | | | | trace-agent |for |
| | | ^ | ^ | ^ | ^ | ^ |it's |
| | +-----+-----+--+-+--+-+----+-------+------+---+-----+exporter|
| | these are all seperate packages | code |
| <----------------------------------------------------------------------------------------------v |
| |
+----------------------------------------------------------------------------------------------------------------------+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment