Glossary
Telemetry channel
The classic Application Insights SDK component that buffers telemetry items and sends them to the ingestion endpoint in batches; OpenTelemetry calls the same job an exporter.
Items leave the classic SDK through its channel, and the channel decides when. Two ship with the .NET SDK:
InMemoryChannelsends every 30 seconds or whenever 500 items are buffered. ItsFlush()is synchronous.ServerTelemetryChanneladds retries and a localStorageFolderfor items it couldn’t send yet, with a transmission buffer of 5 MB by default. ItsFlush()isn’t synchronous.
The Node.js SDK buffers for 15 seconds. That buffering is why short-lived console apps lose their last items: the process exits before the batch goes. Microsoft’s classic advice is to flush and then wait:
telemetryClient.Flush();
Task.Delay(5000).Wait();
The .NET SDK 3.x removes ITelemetryChannel, and Microsoft’s terminology table for OpenTelemetry maps “Channel” to “Exporter”. In the distros an exporter behind a batch processor does the sending, unsent telemetry is cached on disk and retried for up to 48 hours, and a console app flushes by disposing the OpenTelemetry SDK at shutdown.