The Marketplace PIM provides the core concepts for issuance of licenses, dynamic digital rights management (DRM) and runtime authorization. Certain types of licensing models, however, require deeper knowledge of the runtime environment for accurate billing and analytics. Similarly, Product telemetry data may need to integrate directly with other systems in a Product runtime environment.
Real-time monitoring of a Product's runtime characteristics is not just a concern for commercial Marketplace operators. It is a general capability servicing many use cases, such as:
- Use-based billing
- Products requiring upstream reporting
- Performance analytics
- Clincial research and testing
- Data warehousing
- Stream processing of realtime data
- Debugging issues in complex SOAs
- Optimizing performance across discrete services
Earlier versions of this specification were largely silent regarding runtime telemetry. This is no longer possible due to the inclusion of Product
marketplace.json metadata files that must explicitly declare runtime service binding requirements.
While optional for implementers, all
marketplace.json examples (see Product Packaging include a binding to an 'OPENTELEMETRY_COLLECTOR_URL' environment variable. This URL, when present, MUST allow the Product to emit an OpenTelemetry 1.x-compatible stream to a collector provided by the Product runtime environment. OpenTelemetry is an open and portable telemetry specification merging the functions of the OpenTracing and OpenCensus projects and is actively supported by numerous large technology companies and production environments.