diff --git a/instrumentation/gruf/README.md b/instrumentation/gruf/README.md index 4edc9838e6..510cdc6468 100644 --- a/instrumentation/gruf/README.md +++ b/instrumentation/gruf/README.md @@ -1,6 +1,19 @@ # OpenTelemetry Gruf Instrumentation -Todo: Add a description. +The OpenTelemetry Gruf Ruby gem is a community-maintained instrumentation for Gruf, a gRPC framework for Ruby. It enables automatic tracing of RPC requests handled by Gruf services. + +## Overview + +This instrumentation integrates OpenTelemetry with Gruf to create spans for incoming gRPC requests. It helps in observing request flow, latency and errors in distributed systems. + +## How it works + +The Gruf instrumentation hooks into the request lifecycle of Gruf-based gRPC services and automatically creates spans for each incoming RPC request. + +It captures useful metadata such as: +- RPC method name +- Request lifecycle events +- Errors, if any ## How do I get started? @@ -35,6 +48,12 @@ OpenTelemetry::SDK.configure do |c| end ``` +## Key Files + +- `instrumentation.rb` — Entry point for enabling the instrumentation +- `middleware/` — Contains logic for intercepting and tracing requests +- `version.rb` — Defines the gem version + ## Examples Example usage can be seen in the [`./example/trace_demonstration.rb` file](https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/instrumentation/gruf/example/trace_demonstration.rb)