Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'applicationinsights' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
appId: endpointConfig.appId || process.env.microsoftAppID,
appPassword: endpointConfig.appPassword || process.env.microsoftAppPassword,
});
// Setup our global error handler
// For production bots use AppInsights, or a production-grade telemetry service to
// log errors and other bot telemetry.
import { TelemetryClient } from "applicationinsights";
// Get AppInsights configuration by service name
const APPINSIGHTS_CONFIGURATION = process.env.APPINSIGHTS_NAME || "";
const appInsightsConfig: IAppInsightsService = botConfig.findServiceByNameOrId(APPINSIGHTS_CONFIGURATION) as IAppInsightsService;
if (!appInsightsConfig) {
console.log("Please configure your AppInsights connection in your .bot file.");
process.exit(BOT_CONFIGURATION_ERROR);
}
const telemetryClient = new TelemetryClient(appInsightsConfig.instrumentationKey);
adapter.onTurnError = async (turnContext, error) => {
// CAUTION: The sample simply logs the error to the console.
console.error(error);
// For production bots, use AppInsights or similar telemetry system.
// tell the user something happen
telemetryClient.trackException({ exception: error });
// for multi-turn dialog interactions,
// make sure we clear the conversation state
await turnContext.sendActivity("Sorry, it looks like something went wrong.");
};
// CAUTION: The Memory Storage used here is for local bot debugging only. When the bot
// is restarted, anything stored in memory will be gone.
// const storage = new MemoryStorage();
require('dotenv-extended').load();
const config = require('./config');
var appInsights = require("applicationinsights");
if (config.instrumentationKey){
appInsights.setup(config.instrumentationKey)
.setAutoDependencyCorrelation(true)
.setAutoCollectDependencies(true)
.setAutoCollectPerformance(true);
appInsights.defaultClient.context.tags[appInsights.defaultClient.context.keys.cloudRole] = "calc-backend-svc";
appInsights.start();
}
var client = appInsights.defaultClient;
const express = require('express');
const app = express();
const morgan = require('morgan');
const OS = require('os');
// add logging middleware
app.use(morgan('dev'));
// Routes
app.get('/', function(req, res) {
console.log('received request');
res.send('Hi!');
});
require('dotenv-extended').load();
const config = require('./config');
var appInsights = require("applicationinsights");
if (config.instrumentationKey){
appInsights.setup(config.instrumentationKey)
.setAutoDependencyCorrelation(true)
.setAutoCollectDependencies(true)
.setAutoCollectPerformance(true);
appInsights.defaultClient.context.tags[appInsights.defaultClient.context.keys.cloudRole] = "calc-backend-svc";
appInsights.start();
}
var client = appInsights.defaultClient;
const express = require('express');
const app = express();
const morgan = require('morgan');
const OS = require('os');
// add logging middleware
app.use(morgan('dev'));
// Routes
app.get('/', function(req, res) {
console.log('received request');
res.send('Hi!');
});
const cors = require('cors');
const ExpressSwaggerGenerator = require('express-swagger-generator')
const databaseConnection = require('./core/database');
const apiRoutes = require('./core/routes');
// Load .env file if it exists
require('dotenv').config()
// Disable all console output when testing
if(process.env.NODE_ENV == 'test') console.log = function() {}
// App Insights. Set APPINSIGHTS_INSTRUMENTATIONKEY as App Setting or env var
if(process.env.APPINSIGHTS_INSTRUMENTATIONKEY) {
const appInsights = require("applicationinsights");
appInsights.setup()
.setAutoDependencyCorrelation(true)
.setAutoCollectRequests(true)
.setAutoCollectPerformance(true)
.setAutoCollectExceptions(true)
.setAutoCollectDependencies(true)
.setAutoCollectConsole(true, true)
.setUseDiskRetryCaching(true);
appInsights.start();
console.log("### Server will report data to App Insights");
}
// Create express app
console.log(`### API service starting...`);
const app = express();
// Allow all CORS and parse any JSON we receive
// This loads the environment variables from the .env file
require('dotenv-extended').load();
var builder = require('botbuilder');
var restify = require('restify');
var telemetryModule = require('./telemetry-module.js');
var appInsights = require('applicationinsights');
appInsights.setup(process.env.APPINSIGHTS_INSTRUMENTATION_KEY).start();
var appInsightsClient = new appInsights.TelemetryClient();
// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
console.log('%s listening to %s', server.name, server.url);
});
// Create connector and listen for messages
var connector = new builder.ChatConnector({
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
});
server.post('/api/messages', connector.listen());
// This loads the environment variables from the .env file
require('dotenv-extended').load();
var builder = require('botbuilder');
var restify = require('restify');
var telemetryModule = require('./telemetry-module.js');
var appInsights = require('applicationinsights');
appInsights.setup(process.env.APPINSIGHTS_INSTRUMENTATION_KEY).start();
var appInsightsClient = new appInsights.TelemetryClient();
// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
console.log('%s listening to %s', server.name, server.url);
});
// Create connector and listen for messages
var connector = new builder.ChatConnector({
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
});
server.post('/api/messages', connector.listen());
var HelpMessage = '\n * If you want to know which city I\'m using for my searches type \'current city\'. \n * Want to change the current city? Type \'change city to cityName\'. \n * Want to change it just for your searches? Type \'change my city to cityName\'';
var monitor = (bot, options) => {
options = options || {};
if ((!options.instrumentationKey) &&
(!process.env.APPINSIGHTS_INSTRUMENTATIONKEY)){
throw new Error('App Insights instrumentation key was not provided in options or the environment variable APPINSIGHTS_INSTRUMENTATIONKEY');
}
appInsights.setup(options.instrumentationKey || process.env.APPINSIGHTS_INSTRUMENTATIONKEY).start();
client = appInsights.getClient(options.instrumentationKey || process.env.APPINSIGHTS_INSTRUMENTATIONKEY);
if (!options.sentimentKey && !process.env.CG_SENTIMENT_KEY) {
console.warn('No sentiment key was provided - text sentiments will not be collected');
} else {
_sentimentKey = options.sentimentKey || process.env.CG_SENTIMENT_KEY;
}
var transactions = options.transactions || [];
setup();
if (bot) {
// Adding middleware to intercept all received messages
bot.use({
botbuilder: function (session, next) {
try {
statusCode = 400;
title = 'validation-error'
}
// Problem Details object as per standard https://tools.ietf.org/html/rfc7807
let problemDetails = {
error: true,
title: title,
details: err.toString(),
status: statusCode,
source: source
};
// App Insights
const appInsights = require("applicationinsights");
if(appInsights.defaultClient) appInsights.defaultClient.trackException({exception: err});
res.status(statusCode).send(problemDetails);
}
}
private createClient() {
// check if another instance exists
if (ai.defaultClient) {
this.client = new ai.TelemetryClient(this.aiKey);
this.client.channel.setUseDiskRetryCaching(true);
} else {
ai.setup(this.aiKey)
.setAutoCollectConsole(false)
.setAutoCollectDependencies(false)
.setAutoCollectExceptions(false)
.setAutoCollectPerformance(false)
.setAutoCollectRequests(false)
.setAutoDependencyCorrelation(false)
.setUseDiskRetryCaching(true)
.start();
this.client = ai.defaultClient;
}
this.setCommonProperties();
this.client.context.tags[this.client.context.keys.sessionId] = vscode.env.sessionId;
this.client.context.tags[this.client.context.keys.userId] = vscode.env.machineId;
}
let statusCode = err.code ? err.code : 500;
if(statusCode < 100 || statusCode > 999) statusCode = 500;
// Problem Details object as per https://tools.ietf.org/html/rfc7807
let problemDetails = {
error: true,
title: title,
details: err.toString(),
status: statusCode,
source: source
};
// App Insights
const appInsights = require("applicationinsights");
if(appInsights.defaultClient) appInsights.defaultClient.trackException({apiError: problemDetails});
res.status(statusCode).send(problemDetails);
}