Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: New Getting Started Documentation And Reference Application #2427

Prev Previous commit
Next Next commit
address feedback
Signed-off-by: svrnm <severin.neumann@altmuehlnet.de>
svrnm committed Nov 20, 2024

Verified

This commit was signed with the committer’s verified signature.
svrnm Severin Neumann
commit 50818ddc645a78a017cf48dfae50fc90bf939b20
63 changes: 37 additions & 26 deletions projects/new-getting-started-docs-and-reference-application.md
Original file line number Diff line number Diff line change
@@ -2,16 +2,15 @@

## Background and description

This project aims to deliver a new learning experience on [opentelemetry.io](https://opentelemetry.io) for OpenTelemetry end users, combined with
a "reference application" that serves as both the foundation of this experience and a demonstration tool for SIGs to showcase feature implementations.
This project aims to deliver a new learning experience on [opentelemetry.io](https://opentelemetry.io) for OpenTelemetry end users, combined with a "reference application" that serves as both the foundation of this experience and a demonstration tool for SIGs to showcase feature implementations.

This proposal is a continuation of the following existing discussions and documents:

* [Restructure Language SDK & API documentation information architecture](https://github.com/open-telemetry/opentelemetry.io/discussions/4853)
* [Nice to have: a tutorials section on opentelemetry.io where folks can easily access tutorials](https://github.com/open-telemetry/opentelemetry.io/discussions/4475)
* [Visualizations we support in the documentation](https://github.com/open-telemetry/opentelemetry.io/discussions/5040), following up on a conversation with .NET SIG in
[this issue](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5779).
* [Learn OpenTelemetry: New Getting Started & Best Practices](https://github.com/open-telemetry/opentelemetry.io/pull/5376)
- [Restructure Language SDK & API documentation information architecture](https://github.com/open-telemetry/opentelemetry.io/discussions/4853)
- [Nice to have: a tutorials section on opentelemetry.io where folks can easily access tutorials](https://github.com/open-telemetry/opentelemetry.io/discussions/4475)
- [Visualizations we support in the documentation](https://github.com/open-telemetry/opentelemetry.io/discussions/5040), following up on a conversation with .NET SIG in
[this issue](https://github.com/open-telemetry/opentelemetry-dotnet/pull/5779).
- [Learn OpenTelemetry: New Getting Started & Best Practices](https://github.com/open-telemetry/opentelemetry.io/pull/5376)

### Current challenges

@@ -30,8 +29,9 @@ By offering a structured learning path, as outlined in this document, we aim to

The improved "getting started" experience for OpenTelemetry end users will consist of two parts:

* A reference application available in all major languages
* A guide that leads users through the process of instrumenting this reference application
- A reference application available in all major languages
- A language agnostic test suite for spec validation (like [W3C Distributed Tracing Validation Service](https://github.com/w3c/trace-context/tree/main/test))
- A guide that leads users through the process of instrumenting this reference application

While members of SIG Comms can create the guide, the reference application will require collaboration across SIGs. This need for cross-SIG collaboration is a key reason behind this project proposal.

@@ -45,9 +45,9 @@ The first step is to create a "specification" for this application. This involve
1. Must use port 8080

2. User must be able to access the endpoint http://localhost:8080/fibonacci?n=[input], and endpoint should return the following JSON response:
* For valid input, `{"n":5,"result":5}`
* For invalid input, `{"message":"n must be 1 <= n <= 90."}`

- For valid input, `{"n":5,"result":5}`
- For invalid input, `{"message":"n must be 1 <= n <= 90."}`
```

This specification will outline an application that demonstrates a wide range of OpenTelemetry features. Unlike the [Demo](https://github.com/open-telemetry/opentelemetry-demo/), this will be a single, straightforward application implemented in all supported languages, with simple business logic (e.g., Fibonacci calculations or a "roll the dice" feature).
@@ -64,34 +64,45 @@ An example of how this could look can be seen in this preview of the OpenTelemet

## Deliverables

* A specification for the reference application
* Implementations of the reference application across all supported languages
* Prose detailing the new learning experience on the OpenTelemetry website
- A specification for the reference application
- Implementations of the reference application across all supported languages
- Prose detailing the new learning experience on the OpenTelemetry website

## Staffing / Help Wanted

This project is a collaboration between SIG Communications (Docs Contributors) and the SIGs responsible for implementing the API and SDK in their respective languages. No new SIGs need to be formed; however, we do need individuals to sign up and support this effort:

* Staffing from SIG Communications
* [@svrnm](https://github.com/svrnm) (Project Lead)
- Staffing from SIG Communications

* Staffing from SIG Java
* [@jack-berg](https://github.com/jack-berg)
- [@svrnm](https://github.com/svrnm) (Project Lead)

* Staffing from `Language SIG 2`
* `tbd`
- Staffing from SIG Java

* GC/TC Sponsors
* [@svrnm](https://github.com/svrnm)
* [@jack-berg](https://github.com/jack-berg)
- [@jack-berg](https://github.com/jack-berg)

- Staffing from `Language SIG 2`

- `tbd`

- GC/TC Sponsors
- [@svrnm](https://github.com/svrnm)
- [@jack-berg](https://github.com/jack-berg)

## Timeline

The timeline is provided in "quarters," referring to the quarters after the project is approved.

* Q1: Deliver the specification for the reference application
* Q2: Provide a first implementation of the reference application
* Q3: Provide the tutorial on [opentelemetry.io](https://opentelemetry.io)
- Q1: Deliver the specification for the reference application
- Q2: Provide a first implementation of the reference application
- Q3: Provide the tutorial on [opentelemetry.io](https://opentelemetry.io)

## Resources

Existing solutions, that can be used as a basis for the reference application:

- The existing `rolldice` app in the Getting Started guides at <https://opentelemetry.io>
- [newrelic-opentelemetry-examples](https://github.com/newrelic/newrelic-opentelemetry-examples)
- [OpenTelemetry instrumentation workshops](https://github.com/honeycombio/workshop-advanced-instrumentation) by Honeycomb

## Project Board