What the Hell is Activity Anyway?
Blog post from Honeycomb
Microsoft's decision to integrate Activity into the .NET Base Class Library (BCL) since .NET Core 2.0 has created some confusion, particularly with the emergence of OpenTelemetry (OTel) which uses different terminology. Activity serves as a tool for monitoring and telemetry within .NET, predating OpenTelemetry and providing easy adoption due to its integration into the BCL. However, the OpenTelemetry .NET Shim was developed to bridge the terminology gap, allowing developers to use OpenTelemetry's Tracer and Span concepts while leveraging Activity and ActivitySource under the hood. This shim is useful for maintaining consistent terminology across different programming languages but may not be necessary for developers working exclusively within .NET. The recommendation is to use Activity for libraries intended for wider distribution due to compliance considerations, while using OpenTelemetry directly offers advantages in applications with full control due to its comprehensive features and plugins. Looking ahead, there is a hope for the BCL to adopt a consistent tracing pattern similar to its approach with logs and metrics, relying more on open-source solutions like OpenTelemetry rather than integrating additional features directly into the framework.