Implementing Open Telemetry in .NET and AWS Lambda, exporting to honeycomb.io.
The implementation also includes an abstraction layer for tracing API Gateway, SNS and SNS to easily add tracing regardless of event source. This deals with the intricacies of the different sources whilst providing a common, single place to configure OTEL.
The application is built using AWS SAM. To deploy into your own AWS account run the below command from the repo root.
sam deploy --guided
The repo includes tests following the principles of observability driven development (ODD), inspired by Martin Thwaites repo based on an ASP.NET Core ToDo app. As well as asserting based on the Function response, assertions are also made on the spans emitted by the telemtry.
Writing tests based on spans ensures that good observability will be available in production, and not that observability becomes an afterthought.
- SNS doesn't attach to the correct parent span
- Add OTEL driven tests
- Retrieve Honeycomb API key from secrets manager
- Add Event Bridge implementation