Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dgroomes/open-telemetry-playground
📚 Learning and exploring OpenTelemetry via the official Java agent and an Influx stack
https://github.com/dgroomes/open-telemetry-playground
open-telemetry open-telemetry-java
Last synced: 15 days ago
JSON representation
📚 Learning and exploring OpenTelemetry via the official Java agent and an Influx stack
- Host: GitHub
- URL: https://github.com/dgroomes/open-telemetry-playground
- Owner: dgroomes
- Created: 2023-11-19T21:49:05.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-04-01T06:23:27.000Z (8 months ago)
- Last Synced: 2024-10-16T23:01:05.183Z (about 1 month ago)
- Topics: open-telemetry, open-telemetry-java
- Language: Java
- Homepage:
- Size: 260 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# open-telemetry-playground
📚 Learning and exploring OpenTelemetry via the official Java libraries.
> High-quality, ubiquitous, and portable telemetry to enable effective observability
>
> -- https://opentelemetry.io/## Overview
**NOTE**: This project was developed on macOS. It is designed for my own personal use.
OpenTelemetry has become a big deal in the observability space. It's an incubating project in the CNCF. It has a lot of
integrations and adoption. This repository is me learning OpenTelemetry.## Standalone subprojects
This repository illustrates different concepts, patterns and examples via standalone subprojects. Each subproject is
completely independent of the others and do not depend on the root project. This _standalone subproject constraint_
forces the subprojects to be complete and maximizes the reader's chances of successfully running, understanding, and
re-using the code.The subprojects include:
### `agent/`
An example program-under-observation instrumented with the OpenTelemetry Java agent.
See the README in [agent/](agent/).
### `manual-instrumentation/`
An example program-under-observation instrumented with OpenTelemetry using *manual instrumentation*.
See the README in [manual-instrumentation/](manual-instrumentation/).
## Wish List
General clean-ups, TODOs and things I wish to implement for this project:
* [x] DONE Extract the original project into an `agent` subproject.
* [x] DONE Create a `manual-instrumentation` subproject. This will contrast with the `agent` subproject. Particularly, I want
a more explicit set of transitive dependencies. I want to use OpenTelemetry's [`JdkHttpSender`](https://github.com/open-telemetry/opentelemetry-java/blob/f1deb8ec78cd446bc6310b1528a5d71e1d42989e/exporters/sender/jdk/src/main/java/io/opentelemetry/exporter/sender/jdk/internal/JdkHttpSender.java)
instead of the OkHttp one because I want to bring in fewer dependencies like OkHttp (which itself brings in Kotlin).
* [x] DONE Upgrade to OpenTelemetry Java Instrumentation 2.x
* [ ] Can we use Influx 2.x? I know I had trouble with it before, but it should have a 1.x compatible API. Note that
Influx 3.x is the new thing, but it is considered beta, so I won't use it yet. Does Influx 2.x support ILP via HTTP
and does it support Influx query language? I really can't remember why it wouldn't work for me, and the 1.x literally
hasn't been updated since 2021, so I want to be done with it.
* [x] DONE Straighten out the versioning and dependencies between the OpenTelemetry Java SDK vs the OpenTelemetry Java Instrumentation.