diff --git a/tutorial/content/exercises/instrumentation/automatic/code-based/index.md b/tutorial/content/exercises/instrumentation/automatic/code-based/index.md index ac400de..4a20d13 100644 --- a/tutorial/content/exercises/instrumentation/automatic/code-based/index.md +++ b/tutorial/content/exercises/instrumentation/automatic/code-based/index.md @@ -4,6 +4,18 @@ draft: false weight: 3 --- +## Introduction + +This part of the exercise extends the zero-code instrumentation approach, by using instrumentation libraries and manual instrumentation in conjunction with the full automatic approach. + +To differentiate from the upcoming manual instrumentation this step can be seen as a hybrid approach. + +## Learning Objectives + +By the end of this chapter, you should be able to: +- Understand how to extend zero-code instrumentation with usage of libraries or mixing with manual instrumentation +- Apply this form of instrumentation to an existing Java and Python application +- Have an understanding of how much you need to interfere with source code in order to get a certain degree of information depth ### Background diff --git a/tutorial/content/exercises/instrumentation/automatic/zero-code/index.md b/tutorial/content/exercises/instrumentation/automatic/zero-code/index.md index 744c247..d7c213c 100644 --- a/tutorial/content/exercises/instrumentation/automatic/zero-code/index.md +++ b/tutorial/content/exercises/instrumentation/automatic/zero-code/index.md @@ -1,9 +1,11 @@ --- -title: "zero-code instrumentation" +title: "Zero-code instrumentation" draft: false weight: 2 --- +## Introduction + Instrumentation libraries simplify the experience of adopting OpenTelemetry by injecting instrumentation into popular third-party libraries and frameworks. This is especially useful in situations where we don't want to write manual instrumentation, but no native instrumentation is available. Since instrumentation libraries are developed and maintained by members of the OpenTelemetry community, we @@ -15,7 +17,16 @@ A common way to take advantage of instrumentation libraries is in combination wi In contrast to the API and SDK, auto-instrumentation allows us to dynamically inject observability into the application without having to make changes to the source code. Generally speaking, auto-instrumentation is implemented by some kind of agent or runner. -In this lab, we'll use a Java application to understand what this could look like. +In this lab, we'll use both a Java and Python application to understand how this is being done. + +## Learning Objectives + +By the end of this chapter, you should be able to: +- Understand the concept of automatic or zero-code instrumentation +- Apply this form of instrumentation to an existing Java and Python application +- Use appropriate environment variables to configure the behaviour without touching the source code +- Have an understanding of both simplicity, but also limitations of this instrumentation type + ### Background information - byte code manipulation via Java agent diff --git a/tutorial/content/exercises/instrumentation/manual/traces/index.md b/tutorial/content/exercises/instrumentation/manual/traces/index.md index 25050d7..4343dac 100644 --- a/tutorial/content/exercises/instrumentation/manual/traces/index.md +++ b/tutorial/content/exercises/instrumentation/manual/traces/index.md @@ -1,5 +1,5 @@ --- -title: "traces" +title: "Traces" date: 2023-12-06T09:43:24+01:00 draft: false weight: 2 @@ -34,8 +34,6 @@ By the end of this lab, you will be able to: ### How to perform the exercises - - * This exercise is based on the following repository [repository](https://github.com/NovatecConsulting/opentelemetry-training/) * All exercises are in the subdirectory `exercises`. There is also an environment variable `$EXERCISES` pointing to this directory. All directories given are relative to this one. * Initial directory: `manual-instrumentation-traces/initial` diff --git a/tutorial/content/exercises/instrumentation/manual_java/metrics/index.md b/tutorial/content/exercises/instrumentation/manual_java/metrics/index.md index ce40a03..c57ee6c 100644 --- a/tutorial/content/exercises/instrumentation/manual_java/metrics/index.md +++ b/tutorial/content/exercises/instrumentation/manual_java/metrics/index.md @@ -1,5 +1,5 @@ --- -title: "metrics" +title: "Metrics" date: 2023-12-06T09:43:24+01:00 draft: false weight: 3 @@ -23,8 +23,9 @@ The paired `MetricExporter` is responsible for getting the data to the destinati By the end of this lab, you will be able to: -- use the OpenTelemetry API and configure the SDK to generate metrics -- understand the basic structure and dimensions of a metric +- Use the OpenTelemetry API and configure the SDK to generate metrics +- Understand the basic structure and dimensions of a metric +- Generate custom metrics from your application and configure the exporting +- Apply manual instrumentation for tracing to a Java application +- Use the OpenTelemetry API and configure the SDK to generate spans +- Understand the basic structure of a span +- Enrich spans with additional metadata +- Use the appropriate SDK objects to configure exporting to both console and Jaeger/OTLP ### How to perform the exercises diff --git a/tutorial/content/exercises/otel_in_action/_index.md b/tutorial/content/exercises/otel_in_action/_index.md index 4eb3be7..6e8c34c 100644 --- a/tutorial/content/exercises/otel_in_action/_index.md +++ b/tutorial/content/exercises/otel_in_action/_index.md @@ -4,12 +4,6 @@ draft: false weight: 10 --- -## How to perform the exercise - -* This exercise is based on the following repository [repository](https://github.com/NovatecConsulting/opentelemetry-training/) -* All exercises are in the subdirectory `exercises`. There is also an environment variable `$EXERCISES` pointing to this directory. All directories given are relative to this one. -* Initial directory: `otel-in-action` - ## Introduction This introductory lab exercise will demonstrate capabilities of OpenTelemetry from an end-user perspective. There will be no changes in configuration necessary. It's simply about starting a set of pre-defined containers and walking through usage scenarios. @@ -27,6 +21,11 @@ By the end of this chapter, you should be able to: - Interact with the OpenTelemetry-enabled application and observe results in the various dashboard - Observe slow running and failing components +## How to perform the exercise + +* This exercise is based on the following repository [repository](https://github.com/NovatecConsulting/opentelemetry-training/) +* All exercises are in the subdirectory `exercises`. There is also an environment variable `$EXERCISES` pointing to this directory. All directories given are relative to this one. +* Initial directory: `otel-in-action` ## Architecture