Background
Data Products and Data Platform Engineering have arrived at an alternative to dynamically creating/destroying stream configs: We create a stream per Metrics Platform Base Schema and submit all Base-Schema-conforming events to those streams. Product Analysts will need to distinguish between events submitted by different instruments and so we will update the Base Schemas to include discriminating/filter fields (see T366802). We will also need to update the Metrics Platform Client Libraries so that they can accept values for those fields, i.e.
module mw { interface eventLog { submit( streamName: string, schemaID: string, event: Record<string, any> ): void; } }
becomes:
module mw { interface metricsPlatform { submit( instrumentName: string, event: Record<string, any> ): void; } }
and so that they know which stream to send the events to, e.g. the JavaScript and PHP Client Libraries may default to sending them to metrics_platform.all_instruments.web (say), whereas the Java Client Library may default to sending them to metrics_platform.all_instruments.app.
Requirements
- Documentation