swaggerstats-core
v0.2.14
Published
Core functionality for SwaggerStats - Datadog metrics integration for Swagger UI
Maintainers
Readme
SwaggerStats Core
Core functionality for SwaggerStats - a Datadog metrics integration for Swagger UI.
Installation
npm install swaggerstats-coreUsage
This package provides the core functionality for SwaggerStats. It is typically used through platform-specific adapters, such as swaggerstats-nestjs.
const { setupSwaggerStats } = require('swaggerstats-core');
// Configure SwaggerStats and get the default same-origin metrics path
const metricsPath = setupSwaggerStats({
datadogApiKey: process.env.DATADOG_API_KEY,
datadogAppKey: process.env.DATADOG_APP_KEY,
datadogSite: process.env.DATADOG_SITE || 'datadoghq.com',
datadogServiceName: 'your-service-name',
datadogEnvironment: 'production',
datadogMetricType: 'express.request',
mountPath: '/swaggerstats',
apiBasePath: '/api',
});Configuration
Configuration can be provided via a swaggerstats.config.js file in your project root or directly as an object to the setupSwaggerStats function:
// swaggerstats.config.js
module.exports = {
// Datadog API credentials (required for metrics)
datadogApiKey: process.env.DATADOG_API_KEY || '',
datadogAppKey: process.env.DATADOG_APP_KEY || '',
datadogSite: process.env.DATADOG_SITE || 'datadoghq.com',
// Datadog service information
datadogServiceName: 'my-service',
datadogEnvironment: 'prod',
datadogMetricType: 'express.request',
// Metrics caching
cacheTtlSeconds: 3600, // 1 hour
// Same-origin route configuration
mountPath: process.env.SWAGGER_STATS_MOUNT_PATH || '/swaggerstats',
apiBasePath: process.env.SWAGGER_STATS_API_BASE_PATH || '/api',
// Path transformation settings
pathTransformation: {
prefix: '',
stripPrefix: '',
lowercase: true,
}
};Datadog application keys need the timeseries_query permission to query metrics successfully.
License
MIT
