applicationinsights-cloudflareworkers
TypeScript icon, indicating that this package has built-in type declarations

0.3.1 • Public • Published

Application Insights Cloudflareworkers

Note: Still a work in progress. This package might still have breaking changes

Provides application insights functionality in cloudflare workers

Install

npm i --save applicationinsights-cloudflareworkers

Webpack

If you are using webpack you might need change config to load package properly.

Alternative 1 (Recommended)

Use webpack-modules plugin

npm i --save-dev webpack-modules
// Add this to your webpack config file
const WebpackModules = require('webpack-modules');
 
module.exports = {
  // ...
  plugins: [
    new WebpackModules()
  ]
}

Alternative 2

Change mainFields setting (may cause issues with other dependencies)

module.exports = {
  //...
  resolve: {
    mainFields: ['module', 'main']
  }
};

Examples

Sample code:

import { ApplicationInsights, RequestData, ApplicationInsightsConnection } from 'applicationinsights-cloudflareworkers'

const requestTest = new RequestData({
    name: 'Test',
    success: true,
    url: 'https://example.com',
    id: '15fadc35-65b2-41da-b86f-998dcb7489e3',
    properties: {
        anyName: 'anyValue',
    },
    duration: '00.00:00:10.000000',
    responseCode: '200',
})

const ai = new ApplicationInsights({
    context: {
        'ai.operation.id': 'testid',
    },
    connection: ApplicationInsightsConnection.fromConnectionString('InstrumentationKey=yourinstrumentationkey;'),
})

// Pass in AvailabilityData, EventData, ExceptionData, MessageData, MetricData, PageViewPerfData, RemoteDependencyData or RequestData
ai.trackData(requestTest, 'RequestData') // type (second) argument might be required if you minify your code(unminified it can be inferred)

const res = await ai.flush() // Flush is not automatic. You need to call .flush()

// After flush it takes ~5 mins before you will see in application insights

console.log(`Status: ${res.status}`) // See response for errors if code is not 200

For more examples see the test folder

In application insights you will see: Request Application Insights Request Application Insights More Info

Contributing

I am open to pull requests. Please summarize the changes you make. If you have large changes please open an issue, so we can discuss before you start working on the changes.

Package Sidebar

Install

npm i applicationinsights-cloudflareworkers

Weekly Downloads

31

Version

0.3.1

License

MIT

Unpacked Size

195 kB

Total Files

155

Last publish

Collaborators

  • sazzy4o