ApplicationInsights-node.js

Microsoft Application Insights SDK for Node.js

MIT License

Downloads
2.7M
Stars
324
Committers
79

Bot releases are visible (Hide)

ApplicationInsights-node.js - 1.4.2

Published by markwolff about 5 years ago

Release notes

#543 Fix issue causing perf counters of manually tracking requests not appearing in Live Metrics stream
#545 Fix issue with incorrect default trace flag being applied to w3c traceparent header

ApplicationInsights-node.js - 1.4.1

Published by markwolff about 5 years ago

Changelog

  • #534 Fix case where adding correlation headers on a large payload causes the request to fail
  • #541 Fix autocollection issue with latest mongodb driver (3.3.0)
ApplicationInsights-node.js - 1.4.0

Published by markwolff over 5 years ago

This update adds 2 major features. You can now monitor some node.js specific portions of your application via the applicationinsights-node.js-native-metrics node.js addon. To add it, simply install it to your app:

npm install --save applicationinsights-native-metrics

You will not need to make any code changes since this SDK will automatically try to require this module. Once installed, additional node.js specific metrics of your application (time spent in each type of Garbage Collection, Event Loop ticks per second, heap vs non-heap memory usage) will be recorded as Metric Telemetry.
https://github.com/microsoft/applicationinsights-node.js-native-metrics

Second, this SDK now supports the W3C Trace Context distributed tracing standard. To enable this in your app, you must enable it during setup. This will send/receive back-compatibility headers as well as W3C headers, so you will not break correlation with any of your existing legacy services. Enabling W3C headers will allow your app to correlate with other services not instrumented with Application Insights, but do adopt this W3C standard.

const appInsights = require("applicationinsights");
appInsights
  .setup("<your ikey>")
  .setDistributedTracingMode(appInsights.DistributedTracingModes.AI_AND_W3C)
  .start()

Changelog

  • #508 - Add Node.js Extended metrics
  • #509 - Update diagnostic-channel-publishers
  • #511 - Change logging behavior of QPS pinger
  • #519 - Add W3C Trace Context distributed tracing
  • #521 - Fix issue where SDK crashed on nonstring correlation headers
  • #525 - Live metrics: don't change ping state on errors
  • #526 - Ship mapfiles with SDK
ApplicationInsights-node.js - 1.3.0

Published by markwolff over 5 years ago

  • #494 Add capability to send live metrics (experimental)

Sending Live Metrics is currently disabled by default. To enable it, add .setSendLiveMetrics(true) to your configuration methods as you initialize the SDK. You can view your app's live metrics in the "Live Metrics Stream" blade of your Application Insights instance.

image

ApplicationInsights-node.js - 1.2.0

Published by markwolff over 5 years ago

Autocollection now works on latest verison of all supported libraries (as of February 19 2019):

  • redis v2.x
  • mysql v2.0.0 -> v2.16.x
  • mongodb v2.x, v3.x
  • pg v6.x, v7.x
  • pg-pool v1.x, v2.x
  • bunyan v1.x
  • winston v2.x, v3.x

Fixed issues

Note: See diagnostic-channel-publishers 0.3.0 release for more info
https://github.com/Microsoft/node-diagnostic-channel/tree/master/src/diagnostic-channel-publishers#030---february-19th-2019

ApplicationInsights-node.js - 1.1.0

Published by markwolff over 5 years ago

  • #474 Deprecate ZoneJS
    • uses cls-hooked for Node8.2+
    • uses continuation-local-storage for Node3.3+
  • #475 Fix bug causing users' unit tests to hang
  • #479 Add config to force usage of specific CLS library for dependency correlation. setAutoDependencyCorrelation(true, <true|false|undefined>)
    • true: force usage of cls-hooked, which will use async_hooks for node8+, else AsyncWrap
    • false: force usage of continuation-local-storage, which uses async-listener
    • undefined or left blank: default behavior. The SDK will choose for you based on your version of Node.
ApplicationInsights-node.js - 1.1.0-beta.0

Published by markwolff almost 6 years ago

This release is published under the beta tag

npm i applicationinsights@beta

This release is a rewrite of how the SDK performs its dependency correlation. With this change, we expect significantly less cryptic errors and compatibility issues resulting from dependency correlation (More info here). As such, we see this change as significant enough to warrant a major version bump, despite no new features visible to users.

ApplicationInsights-node.js - 1.0.8

Published by markwolff almost 6 years ago

  • Use Buffer.from when available #458
  • Remove Zone artifacts from error stack shown in console #464
  • Measure cpu usage with process.cpuUsage #461

    Important: This changes the way process cpu usage is measured. Previously, sum of user cpu usage was reported, this change uses process.cpuUsage() to measure only this app's usage. In general, the new recorded value will be lower. This only affects process cpu % measurement. Processor cpu % usage metric is unchanged.

ApplicationInsights-node.js - 1.0.7

Published by OsvaldoRosado almost 6 years ago

  • #444 Fix incorrect custom dimension length truncation
  • #449 Fix metric used for memory usage performance counter
  • #446 Fix 3x duplicated request telemetry in applications using socket.io
  • #433 Fix TypeScript error in applications using Node 10 types
ApplicationInsights-node.js - 1.0.6

Published by OsvaldoRosado about 6 years ago

  • #438 Fix spawned PowerShell processes hanging on Windows 7
  • #437 Fix infinite ACL related PowerShell processes spawning if one hangs
  • #371, #428 Fix nested custom properties report as [object Object], null/undefined property values are dropped
ApplicationInsights-node.js - 1.0.5

Published by OsvaldoRosado about 6 years ago

  • #426 Remove unused dynamic imports that prevented this SDK from being Webpack-friendly
  • #427 More strictly apply the APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL environment variable to completely prevent loading diagnostic-channel when present
ApplicationInsights-node.js - 1.0.4

Published by OsvaldoRosado about 6 years ago

  • #407 Fix error for undefined agent with puppeteer
  • #416 Replace existing GUID id generation with an implementation that is compatible with W3C trace-id
  • #420 Add restrictions against insecure TLS/SSL versions by default

The changes in this release to disable TLS versions earlier than 1.2 may impact you if you use a custom telemetry endpoint over HTTPS with an older TLS protocol. You can restore the previous behavior by supplying a custom https.Agent that is not configured with this restriction. See the "Advanced configuration options" section of the README for how to supply a custom https.Agent instance to this SDK.

ApplicationInsights-node.js - 1.0.3

Published by OsvaldoRosado over 6 years ago

  • #246, #382, #400 Respect http_proxy and https_proxy environment variables. Allow for configurable HTTP(S) proxies and Node.js http agents.
  • #395 Fix ACL related errors in App Services and Azure Functions. Adjust connection error logging to be more error-tolerant.
  • #394 Fix missing propagation of ai_authUser cookie to userAuthUserId tag.
  • #398 Fix broken correlation with some non-node SDKs and incomplete views of correlation within the Azure Portal
ApplicationInsights-node.js - 1.0.2

Published by OsvaldoRosado over 6 years ago

  • #344 Missing test for package.json pathfinding
  • #346 Receiving "Zone already loaded" error when requiring AI client in Function App
  • #358 MAC signature error when reading files from Azure File Storage
  • #362 TypeError: Cannot read property 'indexOf' of null
  • #365 trackNodeHttpRequest does not follow type contract
  • #368 Custom .trackRequest and .trackDependency not appearing in Application Insights telemetry data
  • Improved internal logging coverage
  • Fixes for stability issues with retry caching from disk
ApplicationInsights-node.js - 1.0.1

Published by OsvaldoRosado almost 7 years ago

  • #352 Dependency calls over HTTPS are not detected on Node 8.9.0
  • #351 Sample rate should not be applied for metrics telemetry
  • #349 Double dependency reporting for HTTP requests
  • #348 getCorrelationContext() doesn't return correlation context
  • Dependency telemetry does not contain result code
  • Dependency calls over HTTP are not detected on some versions of Node

This patch release to 1.0.0 contains several important fixes for both automatic and manually tracked dependency collection. If you are missing dependency telemetry, or notice missing fields such as resultCode, updating to 1.0.1 is suggested.

ApplicationInsights-node.js - 1.0.0

Published by OsvaldoRosado about 7 years ago

  • #333 SamplingTelemetryProcessor should ignore metrics
  • #331 Unable to end node process
  • #330 TSC fails to compile if SDK is used in an app with TSC < 2.4.0
  • #329 TSC fails to compile if SDK is used in an app with node 0.12 types
  • #328 Add functional tests to cover all diagnostic channel autocollection
  • #326 EnvelopeFactory StackFrame parsing can't parse correlated stack frames
  • #321 TelemetryClient.trackDependency should not assume 'data' property is a URL
  • #319 Add calls to enable winston and postgres

This is the first stable release of the Application Insights Node.js SDK.

Changes since 0.22.0 are primarily bugfixes and stability improvements. Please read the migration section of the readme if you are upgrading from a version prior to 0.22.0.

ApplicationInsights-node.js - 0.22.0

Published by AlexBulankou about 7 years ago

  • #155, #282 Documentation improvements
  • #289 Performance counter data rate improvements
  • #311 Set up of auto-correlation for http.createServer does not cover all cases
  • #284 Multi-component application maps require cloud_RoleName
  • #225 Better differentiate Client and Server requests
  • #202 Offline mode does not persist endpoint with file, leading to date being sent to wrong endpoints
  • #285 OS Reporting gives broken string
  • #148 Tracking custom requests
  • #286 Specify resultCode when using trackDependency
  • #302, #269 Refactor API
  • #256 Cannot find module diagnostic-channel
  • #63 Exceptions are stored on disk even if offline mode is off and are never sent
  • #56 Dispose not removing timers and exception handlers
  • #147 Failure in telemetry processor should not fail telemetry delivery

This release includes breaking changes across most of the SDK in order to bring consistency with other Application Insights SDKs and allow future extensibility. Please review the README for new method and property names. For additional detail on the track API, review #302.

In general, you can migrate with the following:

  • Replace references to appInsights.client with appInsights.defaultClient
  • Replace references to appInsights.getClient() with new appInsights.TelemetryClient()
  • Replace all arguments to client.track* methods with a single object containing named properties as arguments. See your IDE's built-in type hinting, or TelemetryTypes, for the expected object for each type of telemetry.

If you access appInsights configuration functions without chaining them to appInsights.setup(), you can now find these functions at appInsights.Configuration (eg. appInsights.Configuration.setAutoCollectDependencies(true))

Changes to default configurations also exist in this SDK. Primarily, storing telemetry to disk when your app is offline is now enabled by default.

ApplicationInsights-node.js - 0.21.0

Published by OsvaldoRosado over 7 years ago

  • #265, #278, #279, #280 Add support for new correlation headers and exporting custom properties cross-server
  • #271 Update travis ci definitions
  • #274 Fix trackDependency serialization when used with fractional milliseconds
  • #272 Clear all usages of implicit any
  • #276 Update diagnostic-channel-publishers to 0.1.3
  • #277 Fix flaky unit test failures
ApplicationInsights-node.js - 0.20.1

Published by OsvaldoRosado over 7 years ago

  • #248 Fix SDK version reports as node:unknown
  • #251 Adding option to selectively disable module patches
  • #254 Fix SDK crash when Error.prepareStackTrace returns a non-string
  • #257 Update dependency on diagnostic-channel-publishers
ApplicationInsights-node.js - 0.20.0

Published by OsvaldoRosado over 7 years ago

  • #243, #238, #222 Readme revamping
  • #240 Include typescript definitions in NPM package
  • #239 Enable automatic dependency correlation by default
  • #235 Add support for dependency collection and correlation using diagnostic-channel
  • #237, #231, #219 Support for AppId-based cross component correlation
  • #236 Fix issue where we send outdated baseTypes
  • #234 Provide access to contracts
  • #233 Allow for overriding application version
  • #232, #228 Use autogenerated schema contracts
  • #223, #218 Revamp method comment documentation
  • #224, #211 Update npm build and install scripts
  • #217 Add sampling support
  • #221 Migrate from typings to types
  • #213 Fix CORS error when using browserifty
  • #210 Expose tagOverrides and contextObjects on more track APIs
  • #212 Add schema and typescript files to npmignore