Skip to content

Commit

Permalink
Learning Objectives
Browse files Browse the repository at this point in the history
  • Loading branch information
maeddes committed Jul 30, 2024
1 parent 7a63065 commit d125446
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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
<!-- Instrumentation Library -->
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "traces"
title: "Traces"
date: 2023-12-06T09:43:24+01:00
draft: false
weight: 2
Expand Down Expand Up @@ -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`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "metrics"
title: "Metrics"
date: 2023-12-06T09:43:24+01:00
draft: false
weight: 3
Expand All @@ -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
<!--
- create and record meassurements with the help of different types of instruments
- customize metrics are collected by the SDK
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "traces"
title: "Traces"
date: 2023-12-06T09:43:24+01:00
draft: false
weight: 2
Expand All @@ -24,12 +24,13 @@ The purpose of the exercises is to learn about the anatomy of spans and OpenTele
It does not provide a realistic deployment scenario.
In this lab, we output spans to the local console to keep things simple and export it to [Jaeger](https://github.com/jaegertracing/jaeger) to show multiple ways of exporting.

#### Learning Objectives
## Learning Objectives
By the end of this lab, you will be able to:
- use the OpenTelemetry API and configure the SDK to generate spans
- understand the basic structure of a span
- enrich spans with additional metadata
<!-- - ensure trace context propagation so spans can be connected into a trace -->
- 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

Expand Down
11 changes: 5 additions & 6 deletions tutorial/content/exercises/otel_in_action/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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

Expand Down

0 comments on commit d125446

Please sign in to comment.