Skip to content
This repository has been archived by the owner on May 8, 2024. It is now read-only.

Commit

Permalink
remove why_otel, update trace lab images, consistent intro heading (#12)
Browse files Browse the repository at this point in the history
consistent headings for intro

update images in traces lab
  • Loading branch information
jtl-novatec authored and Jens Plüddemann committed Apr 17, 2024
1 parent e7d28be commit 9da4745
Show file tree
Hide file tree
Showing 11 changed files with 482 additions and 54 deletions.
8 changes: 4 additions & 4 deletions tutorial/content/intro/overview_of_otel/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ However, newcomers often feel overwhelmed when getting into OpenTelemetry.
The reason is clear: OpenTelemetry is a vast endeavor that addresses a multitude of problems by creating a comprehensive observability framework.
Before you dive into the labs, we want to give you a high-level overview of the structure and scope of the project.

### signal specification (language-agnostic)
#### signal specification (language-agnostic)
On a high level, OpenTelemetry is organized into *signals*, which mainly include *tracing*, *metrics*, *logging* and *baggage*.
Every signal is developed as a standalone component (but there are ways to connect data streams to another).
Signals are defined inside OpenTelemetry's *language-agnostic* [specification](https://opentelemetry.io/docs/specs/), which lies at the very heart of the project.
Expand All @@ -48,7 +48,7 @@ For example, OpenTelemetry defines [semantic conventions](https://opentelemetry.
By pushing for consistency in the naming and interpretation of common telemetry metadata, OpenTelemetry aims to reduce the need to normalize data coming from different sources.
Finally, there is also the [OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/otlp/), which we'll cover later.

### vendor-agnostic instrumentation (language-specific)
#### vendor-agnostic instrumentation (language-specific)
{{< figure src="images/otel_implementation.drawio.png" width=600 caption="generate and emit telemetry via the OTel API and SDK packages" >}}

To generate and emit telemetry from applications, we use **language-*specific* implementations**, which adhere to OpenTelemetry's specification.
Expand Down Expand Up @@ -108,7 +108,7 @@ But if OpenTelemetry is used in the right way and configured well - the benefits
The benefit of instrumenting code with OpenTelemetry to collect telemetry data is that the correlation of the previously mentioned signals is simplified since all signals carry metadata. Correlating telemetry data enables you to connect and analyze data from various sources, providing a comprehensive view of your system's behavior. By setting a unique correlation ID for each telemetry item and propagating it across network boundaries, you can track the flow of data and identify dependencies between different components. OpenTelemetry's trace ID can also be leveraged for correlation, ensuring that telemetry data from the same request or transaction is associated with the same trace. Correlation engines can further enhance this process by matching data based on correlation IDs, trace IDs, or other attributes like timestamps, allowing for efficient aggregation and analysis. Correlated telemetry data provides valuable insights for troubleshooting, performance monitoring, optimization, and gaining a holistic understanding of your system's behavior. In the labs' chapter you will see how correlated data looks like. Traditionally this had to be done by hand or just by timestamps which was a tedious task. -->
### telemetry processor (stand-alone component)
#### telemetry processor (stand-alone component)
{{< figure src="images/otel_collector_overview.drawio.png" width=650 caption="processing and fowarding telemetry to backends" >}}
So far, we have seen that OpenTelemetry provides tooling for vendor-agnostic instrumentation to application and library developers.
Expand All @@ -128,7 +128,7 @@ To build and configure such telemetry pipelines, operations teams often deploy a
A popular example is the [fluentbit](https://fluentbit.io/) telemetry agents.
Similarly, OpenTelemetry provides a standalone component with these capabilities: the OpenTelemetry [Collector](https://opentelemetry.io/docs/collector/).
### wire protocol
#### wire protocol
Completing the package of standardization, generation and management, OpenTelemetry also defines how to transport telemetry between producers, agents, and backends.
The [OpenTelemetry Protocol (OTLP)](https://opentelemetry.io/docs/specs/otel/protocol/) is an open-source and vendor-neutral wire format that defines:
Expand Down
45 changes: 0 additions & 45 deletions tutorial/content/intro/why_otel/_index.md

This file was deleted.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="app.diagrams.net" modified="2024-04-16T13:52:32.930Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36" version="24.2.5" etag="mRyo3fmEdMxNbfrde1Df" type="google">
<diagram name="Page-1" id="nybQ4Jp-88NVXYxaPJHM">
<mxGraphModel dx="1229" dy="2841" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="2" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;&lt;b style=&quot;font-size: 14px;&quot;&gt;store and analyze&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;sketch=1;curveFitting=1;jiggle=2;verticalAlign=top;arcSize=13;dashed=1;dashPattern=1 4;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="1100" y="-1180" width="210" height="570" as="geometry" />
</mxCell>
<mxCell id="3" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;&lt;b style=&quot;font-size: 14px;&quot;&gt;produce telemetry&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;sketch=1;curveFitting=1;jiggle=2;verticalAlign=top;arcSize=4;dashed=1;dashPattern=1 4;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="40" y="-1180" width="970" height="570" as="geometry" />
</mxCell>
<mxCell id="4" value="&amp;nbsp;SDK" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;sketch=1;curveFitting=1;jiggle=2;align=left;verticalAlign=top;fontStyle=1;fontSize=14;labelBackgroundColor=default;" vertex="1" parent="1">
<mxGeometry x="60" y="-970" width="920" height="320" as="geometry" />
</mxCell>
<mxCell id="5" value="telemetry generation" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;sketch=1;curveFitting=1;jiggle=2;align=left;verticalAlign=top;fontStyle=1;fontSize=14;labelBackgroundColor=default;" vertex="1" parent="1">
<mxGeometry x="100" y="-830" width="450" height="150" as="geometry" />
</mxCell>
<mxCell id="6" value="&amp;nbsp; API" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;sketch=1;curveFitting=1;jiggle=2;align=left;verticalAlign=top;fontStyle=1;fontColor=#333333;fontSize=14;labelBackgroundColor=default;" vertex="1" parent="1">
<mxGeometry x="60" y="-1110" width="920" height="110" as="geometry" />
</mxCell>
<mxCell id="7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;sketch=1;curveFitting=1;jiggle=2;fontSize=14;" edge="1" source="12" target="13" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=14;" edge="1" source="12" target="13" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="9" value="creates and&amp;nbsp;stores&lt;div&gt;configuration for&lt;/div&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;" connectable="0" vertex="1" parent="8">
<mxGeometry x="-0.1" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="10" value="implements" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;sketch=1;curveFitting=1;jiggle=2;curved=1;fontSize=14;" edge="1" source="12" target="15" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="11" value="replaces" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;curved=1;sketch=1;curveFitting=1;jiggle=2;fontSize=14;" edge="1" source="12" target="25" parent="1">
<mxGeometry x="-0.1321" y="20" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="12" value="TracingProvider" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="265" y="-940" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="13" value="Tracer" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="265" y="-780" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="14" value="register&amp;nbsp;&lt;div&gt;global provider&lt;/div&gt;" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;curved=1;fontSize=14;labelBackgroundColor=default;sketch=1;curveFitting=1;jiggle=2;" edge="1" source="15" target="12" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="15" value="tracing API" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="210" y="-1080" width="240" height="60" as="geometry" />
</mxCell>
<mxCell id="16" value="tracing pipeline" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;sketch=1;curveFitting=1;jiggle=2;align=left;verticalAlign=top;fontStyle=1;fontSize=14;labelBackgroundColor=default;" vertex="1" parent="1">
<mxGeometry x="570" y="-830" width="380" height="150" as="geometry" />
</mxCell>
<mxCell id="17" value="SpanProcessor" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="600" y="-780" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;curved=1;sketch=1;curveFitting=1;jiggle=2;fontSize=14;" edge="1" source="19" target="26" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="19" value="SpanExporter" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="780" y="-780" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontSize=14;" edge="1" source="21" target="19" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="21" value="SpanProcessor" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="610" y="-775" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="22" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;sketch=1;curveFitting=1;jiggle=2;curved=1;fontSize=14;" edge="1" source="23" target="24" parent="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="23" value="SpanExporter" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="790" y="-775" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="24" value="console" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;align=center;verticalAlign=top;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="1130" y="-740" width="140" height="90" as="geometry" />
</mxCell>
<mxCell id="25" value="NoOp&lt;br style=&quot;font-size: 14px;&quot;&gt;&lt;span style=&quot;font-weight: normal; font-size: 14px;&quot;&gt;(default provider)&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="480" y="-1080" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="26" value="tracing backend" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;align=center;verticalAlign=top;fontStyle=1;fontSize=14;" vertex="1" parent="1">
<mxGeometry x="1130" y="-870" width="140" height="95" as="geometry" />
</mxCell>
<mxCell id="27" value="Span" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;strokeColor=#A1A1A1;fontColor=#808080;" vertex="1" parent="1">
<mxGeometry x="980" y="-790" width="90" height="40" as="geometry" />
</mxCell>
<mxCell id="28" value="Span" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;strokeColor=#A1A1A1;fontColor=#808080;" vertex="1" parent="1">
<mxGeometry x="1005" y="-800" width="90" height="40" as="geometry" />
</mxCell>
<mxCell id="29" value="Span" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;strokeColor=#A1A1A1;fontColor=#808080;" vertex="1" parent="1">
<mxGeometry x="985" y="-760" width="90" height="40" as="geometry" />
</mxCell>
<mxCell id="30" value="Span" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;strokeColor=#A1A1A1;fontColor=#808080;" vertex="1" parent="1">
<mxGeometry x="1005" y="-750" width="90" height="40" as="geometry" />
</mxCell>
<mxCell id="31" value="Span" style="rounded=0;whiteSpace=wrap;html=1;sketch=1;curveFitting=1;jiggle=2;fontStyle=1;fontSize=14;strokeColor=#A1A1A1;fontColor=#808080;" vertex="1" parent="1">
<mxGeometry x="1035" y="-780" width="90" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 9da4745

Please sign in to comment.