Giter Club home page Giter Club logo

open-telemetry / opentelemetry-demo Goto Github PK

View Code? Open in Web Editor NEW
1.7K 38.0 1.0K 41.24 MB

This repository contains the OpenTelemetry Astronomy Shop, a microservice-based distributed system intended to illustrate the implementation of OpenTelemetry in a near real-world environment.

Home Page: https://opentelemetry.io/docs/demo/

License: Apache License 2.0

Makefile 2.24% Go 14.33% Dockerfile 6.18% Shell 1.68% Java 6.95% C# 7.44% JavaScript 3.45% Python 6.48% HTML 0.64% CSS 0.29% Ruby 0.60% CMake 1.01% C++ 5.09% Rust 4.49% TypeScript 35.36% PHP 2.67% Kotlin 1.08%
jaeger opentelemetry opentelemetry-collector opentelemetry-dotnet opentelemetry-erlang opentelemetry-go opentelemetry-java-agent opentelemetry-javascript opentelemetry-python opentelemetry-rust prometheus demo

opentelemetry-demo's Introduction

OTel logo OpenTelemetry Demo

Slack Version Commits Downloads License Integration Tests Artifact Hub OpenSSF Best Practices

Welcome to the OpenTelemetry Astronomy Shop Demo

This repository contains the OpenTelemetry Astronomy Shop, a microservice-based distributed system intended to illustrate the implementation of OpenTelemetry in a near real-world environment.

Our goals are threefold:

  • Provide a realistic example of a distributed system that can be used to demonstrate OpenTelemetry instrumentation and observability.
  • Build a base for vendors, tooling authors, and others to extend and demonstrate their OpenTelemetry integrations.
  • Create a living example for OpenTelemetry contributors to use for testing new versions of the API, SDK, and other components or enhancements.

We've already made huge progress, and development is ongoing. We hope to represent the full feature set of OpenTelemetry across its languages in the future.

If you'd like to help (which we would love), check out our contributing guidance.

If you'd like to extend this demo or maintain a fork of it, read our fork guidance.

Quick start

You can be up and running with the demo in a few minutes. Check out the docs for your preferred deployment method:

Documentation

For detailed documentation, see Demo Documentation. If you're curious about a specific feature, the docs landing page can point you in the right direction.

Demos featuring the Astronomy Shop

We welcome any vendor to fork the project to demonstrate their services and adding a link below. The community is committed to maintaining the project and keeping it up to date for you.

AlibabaCloud LogService Elastic New Relic
AppDynamics Google Cloud OpenSearch
Aspecto Grafana Labs Sentry
Axiom Guance ServiceNow Cloud Observability
Axoflow Helios Splunk
Azure Data Explorer Honeycomb.io Sumo Logic
Coralogix Instana TelemetryHub
Dash0 Kloudfuse Teletrace
Datadog Liatrio Tracetest
Dynatrace Logz.io Uptrace

Contributing

To get involved with the project see our CONTRIBUTING documentation. Our SIG Calls are every other Monday at 8:30 AM PST and anyone is welcome.

Project leadership

Maintainers (@open-telemetry/demo-maintainers):

Approvers (@open-telemetry/demo-approvers):

Emeritus:

Thanks to all the people who have contributed

contributors

opentelemetry-demo's People

Contributors

austinlparker avatar brettmc avatar cartersocha avatar cedricziel avatar cijothomas avatar danielbdias avatar dependabot[bot] avatar dineshg13 avatar fatsheep9146 avatar garypwhite avatar jaredtan95 avatar jlawrienyt avatar joshleecreates avatar julianocosta89 avatar kielek avatar klucsik avatar martinkuba avatar mic-max avatar mviitane avatar puckpuck avatar renovate[bot] avatar reyang avatar rogercoll avatar saurabhdes avatar styblope avatar svrnm avatar tranngoclam avatar tsloughter avatar wph95 avatar xoscar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opentelemetry-demo's Issues

Review and enhance tracing support for cart service (C#)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)
  • Update the centralized tracing doc

Referencing: #42

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/tree/main/src/cartservice

Support deployment to Kubernetes

Objective

Highlight the integration between OpenTelemetry and the greater cloud-native ecosystem by supporting Kubernetes.

The following are a non-exhaustive list of requirements for this --

  • Minikube/local k8s as the minimum requirement for installation
  • Self-deployment of services via ArgoCD
  • OpenTelemetry deployment via OpenTelemetry Operator
  • Kubernetes API Server Tracing enabled
  • Kubernetes Metrics scraped by Collector
  • Kubernetes resource detectors on Collector (and associated telemetry enhancement)

Feature Flag Service

This issue is to track the addition of the feature flag service to the demo.

PR #26 has been opened with a proposed GRPC API for the service.

Create a feature flag service

Objective

To allow for dynamic modification of service behavior through feature flags, and to demonstrate OpenTelemetry in another language, create a feature flag service in Erlang+Elixir/Phoenix.

  • UI/API to perform CRUD operations on flags.
  • UI to display flag state.
  • API to query flag state.
  • Flags should be persistent through restarts (stateful storage).

Other services in the application should be able to register with this service and query it for the state of any feature flags defined in their code.

If feasible, it would be good to see if we can align with OpenFeature for definitions/semantic conventions here.

Review and enhance tracing support for recommendation service (Python)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
    • Interprocess context propagation is demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)

Referencing: #42

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/recommendationservice/README.md

Ensure sufficient breadth of log features represented.

As OpenTelemetry Logging has not fully stabilized, this list of requirements may change in future releases.

  • Log events in existing services should be converted to span events where appropriate (i.e., the event occurs within a transaction)
  • Logs should be emitted with OpenTelemetry resources and context for correlation where possible.
  • Logs should be scraped by OpenTelemetry Collectors for further filtering and processing.

Create an 'admin service' in PHP

Objective

Create an 'admin service' written in PHP for the web store.

The following features should be supported:

  • Authentication for 'admin users'
  • UI for CRUD operations on items in the product catalog.
  • API for CRUD operations on items in the product catalog.

Review and enhance tracing support for admin service (PHP)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
    • Interprocess context propagation is demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)

Referencing: #42

Dependent on this item: #34

Review and enhance metric support for recommendation service (Python)

The following are requirements for metrics in the project. Not all services will meet all requirements.

  • Service metrics should not be duplicative of trace-derived metrics.
  • Services should emit multiple business metrics where appropriate.
  • Services should emit trace exemplars for their metrics.
  • Services should use push metrics where possible.
  • Services should explicitly read baggage where needed.
  • Collectors should perform metric transforms to normalize resource and service metrics.

Referencing issue: #43

Review and enhance metric support for frontend (Go)

The following are requirements for metrics in the project. Not all services will meet all requirements.

  • Service metrics should not be duplicative of trace-derived metrics.
  • Services should emit multiple business metrics where appropriate.
  • Services should emit trace exemplars for their metrics.
  • Services should use push metrics where possible.
  • Services should explicitly read baggage where needed.
  • Collectors should perform metric transforms to normalize resource and service metrics.

Referencing issue: #43

Ensure sufficient breadth in trace features across services

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements.

  • Automatic Instrumentation is being used where appropriate.
  • Automatic instrumentation is being injected through the OpenTelemetry Operator.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
    • Interprocess context propagation is demonstrated.
    • Intraprocess context propagation is demonstrated.
  • Trace links are being demonstrated in appropriate places (security boundary, fan-in/fan-out)
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)

Review and enhance tracing support for payment service (node.js)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)
  • Update the centralized tracing doc

Referencing: #42

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/paymentservice/README.md

Review and enhance tracing support for email service (Ruby)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)
  • Update the centralized tracing doc

Referencing: #42

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/emailservice/README.md

Ruby dependent on this item: #37

Review and enhance metric support for currency service (C++ / node.js)

The following are requirements for metrics in the project. Not all services will meet all requirements.

  • Service metrics should not be duplicative of trace-derived metrics.
  • Services should emit multiple business metrics where appropriate.
  • Services should emit trace exemplars for their metrics.
  • Services should use push metrics where possible.
  • Services should explicitly read baggage where needed.
  • Collectors should perform metric transforms to normalize resource and service metrics.

Referencing issue: #43

Review and enhance logging support for cart service (C#)

As OpenTelemetry Logging has not fully stabilized, this list of requirements may change in future releases.

  • Log events in existing services should be converted to span events where appropriate (i.e., the event occurs within a transaction)
  • Logs should be emitted with OpenTelemetry resources and context for correlation where possible.
  • Logs should be scraped by OpenTelemetry Collectors for further filtering and processing.

Referencing issue: #44

Service: Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/tree/main/src/cartservice

Review and enhance metric support for check out service (Go)

The following are requirements for metrics in the project. Not all services will meet all requirements.

  • Service metrics should not be duplicative of trace-derived metrics.
  • Services should emit multiple business metrics where appropriate.
  • Services should emit trace exemplars for their metrics.
  • Services should use push metrics where possible.
  • Services should explicitly read baggage where needed.
  • Collectors should perform metric transforms to normalize resource and service metrics.

Referencing issue: #43

Review and enhance logging support for recommendation service (Python)

As OpenTelemetry Logging has not fully stabilized, this list of requirements may change in future releases.

  • Log events in existing services should be converted to span events where appropriate (i.e., the event occurs within a transaction)
  • Logs should be emitted with OpenTelemetry resources and context for correlation where possible.
  • Logs should be scraped by OpenTelemetry Collectors for further filtering and processing.

Referencing issue: #44

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/recommendationservice/README.md

Review and enhance logging support for email service (Python / Ruby)

As OpenTelemetry Logging has not fully stabilized, this list of requirements may change in future releases.

  • Log events in existing services should be converted to span events where appropriate (i.e., the event occurs within a transaction)
  • Logs should be emitted with OpenTelemetry resources and context for correlation where possible.
  • Logs should be scraped by OpenTelemetry Collectors for further filtering and processing.

Referencing issue: #44

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/emailservice/README.md

Ruby dependent on this item: #37

Review and enhance metric support for payment service (node.js)

The following are requirements for metrics in the project. Not all services will meet all requirements.

  • Service metrics should not be duplicative of trace-derived metrics.
  • Services should emit multiple business metrics where appropriate.
  • Services should emit trace exemplars for their metrics.
  • Services should use push metrics where possible.
  • Services should explicitly read baggage where needed.
  • Collectors should perform metric transforms to normalize resource and service metrics.

Referencing issue: #43

Review and enhance metric support for product catalog service (Go)

The following are requirements for metrics in the project. Not all services will meet all requirements.

  • Service metrics should not be duplicative of trace-derived metrics.
  • Services should emit multiple business metrics where appropriate.
  • Services should emit trace exemplars for their metrics.
  • Services should use push metrics where possible.
  • Services should explicitly read baggage where needed.
  • Collectors should perform metric transforms to normalize resource and service metrics.

Referencing issue: #43

Review and enhance tracing support for product catalog service (Go)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)
  • Update the centralized tracing doc
    Referencing: #42

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/productcatalogservice/README.md

Create a storage abstraction/persistence layer for products.

Objective

To demonstrate OTel integration w/storage layers, we need some stateful storage in the application. To this end, we should create some kind of abstraction to store and get products for the product catalog.

This service will be written to by the 'adminservice' and read by the 'productcatalog'.

The two basic storage types we should support are DB and blob-based storage.

Improve the CI to block broken links

#86 (comment)

It seems the current CI job doesn't prevent broken links. At minimum we should have gated CI job to prevent any relative link that is broken. Whether we should check absolute links or not is still to be decided due to the fragile nature.

One option is docfx, as been used in https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/.github/workflows/docfx.yml.
Another option is https://github.com/open-telemetry/opentelemetry-specification/blob/9abbdd39d0b35f635f833f072013431da419894e/.github/workflows/checks.yaml#L36, which can be configured to cover relative/absolute/both.

Fix `gradlew` commands on Windows

The adservice fails to build at the RUN ./gradlew downloadRepos step

You must run

  • ./gradlew installDist from /src/adservice/
  • ./gradlew wrapper --gradle-version 7.4.2

Maybe only one of the above commands is necessary...

Then the following command should work:
docker compose build cartservice

Proposed Fix:

Make the docker compose up the only required command to run the whole project, so this might be simply upgrading the jar file: /src/adservice/gradle/wrapper/gradle-wrapper.jar to the 7.4.2 version done in the command found above.

image
The other changes to /src/adservice/gradle/wrapper/gradle-wrapper.properties and /src/adservice/gradlew are only related to line endings:
image

Review and enhance tracing support for ad service service (Java)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • #151
    • #152
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
    • Interprocess context propagation is demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)

Referencing: #42

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/adservice/README.md

Review and enhance logging support for ad service service (Java)

As OpenTelemetry Logging has not fully stabilized, this list of requirements may change in future releases.

  • Log events in existing services should be converted to span events where appropriate (i.e., the event occurs within a transaction)
  • Logs should be emitted with OpenTelemetry resources and context for correlation where possible.
  • Logs should be scraped by OpenTelemetry Collectors for further filtering and processing.

Referencing issue: #44

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/adservice/README.md

Review and enhance tracing support for frontend (Go)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate. - not appropriate
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
    • Interprocess context propagation is demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)

Referencing: #42

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/tree/main/src/frontend

Restyle and update product catalog, frontend, etc.

Objective

Bring out a bit of the project's personality by rebranding from 'Online Boutique' to something else. Maybe 'Astronomy Shop'? :)

  • Update frontend logo
  • Update product key art/product names
  • Rebrand colors/fonts to align with opentelemetry.io styles

Save a copy of `grpc_health_probe` binary to the repository

Feature Request

Save a copy of grpc_health_probe binary to the repository. 10MB.

Is your feature request related to a problem?

Each of our services downloads this health probe (and will soon use with Dockerfile HEALTHCHECK)) using wget.
Example: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/adservice/Dockerfile#L35

Describe the solution you'd like:

Instead of downloading each time which a version has to be specified in each Dockerfile or possibly one main GRPC_HEALTH_PROBE_VERSION value in the .env file that we'd have to add to each service's environment section in the compose.yml file, we simply copy the file from /bin/ to the docker image.

Pros:

  • Don't need to install wget in each service's build
  • No external dependencies (network)
  • Don't have to download 10MB file each new build (around 10 times), some issues have been seen with this command
  • Simplifies the task of using the same version of the health probe
  • Less boilerplate code

Cons:

  • Checking in a binary is usually considered a no-no
  • Git repository size increases (from 20MB to 30MB)

Describe alternatives you've considered.

If the Docker compose command is able to download this binary and it be copied to each image during the build process could alleviate most of the network download required from 100MB total to 10MB total. However, each clean install will still need network access to get this file, so the offline-friendly approach of including the binary to the repository seems worthwhile.

Ensure sufficient breadth of metric features represented.

The following are requirements for metrics in the project. Not all services will meet all requirements.

  • Service metrics should not be duplicative of trace-derived metrics.
  • Services should emit multiple business metrics where appropriate.
  • Services should emit trace exemplars for their metrics.
  • Services should use push metrics where possible.
  • Services should explicitly read baggage where needed.
  • Collectors should perform metric transforms to normalize resource and service metrics.

Is there any plan to add demonstration of the Java technology stack?

Question

Hi,
I've given a rough preview of the technology stack used in the webstore demo, and I noticed the grpc framework is involved.
But, from my point of view, the content of the Java technology stack involves less, especially the more popular springboot/springcloud.

Do we have a plan on this?

BTW, I can participate in this part of the enhancement. :-P

Use Github Discussions.

Review and enhance tracing support for checkout service (Go)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)
  • Update the centralized tracing doc
    Referencing: #42

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/checkoutservice/README.md

Review and enhance metric support for ad service service (Java)

The following are requirements for metrics in the project. Not all services will meet all requirements.

  • Service metrics should not be duplicative of trace-derived metrics.
  • Services should emit multiple business metrics where appropriate.
  • Services should emit trace exemplars for their metrics.
  • Services should use push metrics where possible.
  • Services should explicitly read baggage where needed.
  • Collectors should perform metric transforms to normalize resource and service metrics.

Referencing issue: #43

Setup CI workflow to Docker Hub

The most recent build of the community demo should be available for download on Docker Hub & have automated deployment from the repo.

The community demo should be posted by the community "otel" user on the docker hub.

  • Define image_name image_tag format
  • Setup CI workflow to build the image
  • Setup CI workflow to push image to GitHub package (via GitHub action)
  • docker hub credentials
  • push image to docker hub (via GitHub action)

Review and enhance tracing support for currency service (C++)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)
  • Update the centralized tracing doc

Referencing: #42

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/currencyservice/README.md

C++ dependent on this item: #36

Review and enhance tracing support for feature flag service (erlang)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)
  • Update the centralized tracing doc

Referencing: #42

Dependent on this item: #40

Review and enhance metric support for cart service (C#)

The following are requirements for metrics in the project. Not all services will meet all requirements.

  • Service metrics should not be duplicative of trace-derived metrics.
  • Services should emit multiple business metrics where appropriate.
  • Services should emit trace exemplars for their metrics.
  • Services should use push metrics where possible.
  • Services should explicitly read baggage where needed.
  • Collectors should perform metric transforms to normalize resource and service metrics.

Referencing issue: #43

Review and enhance tracing support for shipping service (Rust)

The following is a list of requirements that we need to evaluate before declaring v1 for trace telemetry. These requirements are across the entire application; Not all services will meet all requirements. Determine the relevant features for this service.

  • Automatic Instrumentation is being used where appropriate.
  • Library instrumentation is being used if automatic instrumentation is unavailable.
  • Services extend automatic instrumentation.
    • New attributes/events attached to existing spans.
    • New spans are being created from existing spans.
  • Automatic and Manual Context Propagation are being demonstrated.
  • Telemetry is not being sampled upfront.
  • Telemetry is not being filtered upfront.
  • Baggage is being set and read appropriately (i.e., baggage must be explicitly set as attributes on spans)
  • Update the centralized tracing doc

Referencing: #42

Service: https://github.com/open-telemetry/opentelemetry-demo-webstore/blob/main/src/shippingservice/README.md

Rust dependent on this item: #35

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.