What is @microsoft/applicationinsights-channel-js?
@microsoft/applicationinsights-channel-js is a JavaScript library that provides a channel for sending telemetry data to the Application Insights service. It is part of the larger Application Insights SDK and is used to manage the transmission of telemetry data, including batching, retry policies, and endpoint management.
What are @microsoft/applicationinsights-channel-js's main functionalities?
Telemetry Data Transmission
This feature allows you to send telemetry data to the Application Insights service. The code sample demonstrates how to create a Sender instance and send a custom event with properties.
const { Sender } = require('@microsoft/applicationinsights-channel-js');
const sender = new Sender();
sender.send({
name: 'customEvent',
properties: { key: 'value' }
});
Batching Telemetry Data
This feature allows you to configure batching of telemetry data to optimize network usage. The code sample shows how to configure the Sender with a maximum batch size and interval.
const { Sender } = require('@microsoft/applicationinsights-channel-js');
const sender = new Sender({
maxBatchSizeInBytes: 102400,
maxBatchInterval: 15000
});
sender.send({
name: 'customEvent',
properties: { key: 'value' }
});
Retry Policies
This feature allows you to configure retry policies for sending telemetry data. The code sample demonstrates how to set the maximum number of retries and the interval between retries.
const { Sender } = require('@microsoft/applicationinsights-channel-js');
const sender = new Sender({
maxRetries: 3,
retryInterval: 1000
});
sender.send({
name: 'customEvent',
properties: { key: 'value' }
});
Other packages similar to @microsoft/applicationinsights-channel-js
winston
Winston is a popular logging library for Node.js that supports multiple transports for logging messages, including console, file, and HTTP. Unlike @microsoft/applicationinsights-channel-js, which is focused on telemetry data for Application Insights, Winston is a general-purpose logging library.
log4js
Log4js is another logging library for Node.js that provides a variety of appenders for logging messages to different destinations, such as files, console, and remote servers. It is similar to Winston and serves a broader logging purpose compared to the specialized telemetry focus of @microsoft/applicationinsights-channel-js.
bunyan
Bunyan is a simple and fast JSON logging library for Node.js. It is designed for high-performance logging and provides features like log levels, serializers, and streams. Bunyan is more focused on general logging needs, whereas @microsoft/applicationinsights-channel-js is specialized for telemetry data transmission to Application Insights.
Microsoft Application Insights JavaScript SDK - Channel
Channel layer for the Application Insights JavaScript SDK
Build
npm install -g grunt-cli
npm install
npm run build --silent
Test
npm run test
Contributing
This project welcomes contributions and suggestions. Most contributions require you to
agree to a Contributor License Agreement (CLA) declaring that you have the right to,
and actually do, grant us the rights to use your contribution. For details, visit
https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need
to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the
instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct.
For more information see the Code of Conduct FAQ
or contact opencode@microsoft.com with any additional questions or comments.
Data Collection
As this SDK is designed to enable applications to perform data collection which is sent to the Microsoft collection endpoints the following is required to identify our privacy statement.
The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft’s privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft’s Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.
License
MIT