MetricsCollector
Defined in: core/src/core/events/metrics.ts:6
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new MetricsCollector(
agentHandler,config,logger):MetricsCollector
Defined in: core/src/core/events/metrics.ts:7
Parameters
Section titled “Parameters”agentHandler
Section titled “agentHandler”AgentHandlerProtocol | null
config
Section titled “config”agentApiKey
Section titled “agentApiKey”string | null = ...
agentBufferSize
Section titled “agentBufferSize”number = ...
agentEnableEvents
Section titled “agentEnableEvents”boolean = ...
agentEnableMetrics
Section titled “agentEnableMetrics”boolean = ...
agentEndpoint
Section titled “agentEndpoint”string = ...
agentFlushInterval
Section titled “agentFlushInterval”number = ...
agentProjectId
Section titled “agentProjectId”string | null = ...
agentRetryAttempts
Section titled “agentRetryAttempts”number = ...
agentTimeout
Section titled “agentTimeout”number = ...
autoBanDuration
Section titled “autoBanDuration”number = ...
autoBanThreshold
Section titled “autoBanThreshold”number = ...
blacklist
Section titled “blacklist”string[] = ...
blockCloudProviders
Section titled “blockCloudProviders”Set<"AWS" | "GCP" | "Azure"> = ...
blockedCountries
Section titled “blockedCountries”string[] = ...
blockedUserAgents
Section titled “blockedUserAgents”string[] = ...
cloudIpRefreshInterval
Section titled “cloudIpRefreshInterval”number = ...
corsAllowCredentials
Section titled “corsAllowCredentials”boolean = ...
corsAllowHeaders
Section titled “corsAllowHeaders”string[] = ...
corsAllowMethods
Section titled “corsAllowMethods”string[] = ...
corsAllowOrigins
Section titled “corsAllowOrigins”string[] = ...
corsExposeHeaders
Section titled “corsExposeHeaders”string[] = ...
corsMaxAge
Section titled “corsMaxAge”number = ...
customErrorResponses
Section titled “customErrorResponses”Record<number, string> = ...
customLogFile
Section titled “customLogFile”string | null = ...
customRequestCheck?
Section titled “customRequestCheck?”(req) => Promise<GuardResponse | null> = ...
customResponseModifier?
Section titled “customResponseModifier?”(res) => Promise<GuardResponse> = ...
detectionAnomalyThreshold
Section titled “detectionAnomalyThreshold”number = ...
detectionCompilerTimeout
Section titled “detectionCompilerTimeout”number = ...
detectionMaxContentLength
Section titled “detectionMaxContentLength”number = ...
detectionMaxTrackedPatterns
Section titled “detectionMaxTrackedPatterns”number = ...
detectionMonitorHistorySize
Section titled “detectionMonitorHistorySize”number = ...
detectionPreserveAttackPatterns
Section titled “detectionPreserveAttackPatterns”boolean = ...
detectionSemanticThreshold
Section titled “detectionSemanticThreshold”number = ...
detectionSlowPatternThreshold
Section titled “detectionSlowPatternThreshold”number = ...
dynamicRuleInterval
Section titled “dynamicRuleInterval”number = ...
emergencyMode
Section titled “emergencyMode”boolean = ...
emergencyWhitelist
Section titled “emergencyWhitelist”string[] = ...
enableAgent
Section titled “enableAgent”boolean = ...
enableCors
Section titled “enableCors”boolean = ...
enableDynamicRules
Section titled “enableDynamicRules”boolean = ...
enableIpBanning
Section titled “enableIpBanning”boolean = ...
enablePenetrationDetection
Section titled “enablePenetrationDetection”boolean = ...
enableRateLimiting
Section titled “enableRateLimiting”boolean = ...
enableRedis
Section titled “enableRedis”boolean = ...
endpointRateLimits
Section titled “endpointRateLimits”Record<string, [number, number]> = ...
enforceHttps
Section titled “enforceHttps”boolean = ...
excludePaths
Section titled “excludePaths”string[] = ...
geoIpHandler?
Section titled “geoIpHandler?”GeoIPHandler = ...
geoResolver?
Section titled “geoResolver?”(ip) => string | null = ...
logFormat
Section titled “logFormat”"text" | "json" = ...
logger?
Section titled “logger?”Logger = ...
logRequestLevel
Section titled “logRequestLevel”"INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null = ...
logSuspiciousLevel
Section titled “logSuspiciousLevel”"INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null = ...
passiveMode
Section titled “passiveMode”boolean = ...
rateLimit
Section titled “rateLimit”number = ...
rateLimitWindow
Section titled “rateLimitWindow”number = ...
redisPrefix
Section titled “redisPrefix”string = ...
redisUrl
Section titled “redisUrl”string = ...
securityHeaders
Section titled “securityHeaders”{ contentTypeOptions: string; csp: Record<string, string[]> | null; custom: Record<string, string> | null; enabled: boolean; frameOptions: "DENY" | "SAMEORIGIN"; hsts?: { includeSubdomains: boolean; maxAge: number; preload: boolean; }; permissionsPolicy: string; referrerPolicy: string; xssProtection: string; } | null = ...
trustedProxies
Section titled “trustedProxies”string[] = ...
trustedProxyDepth
Section titled “trustedProxyDepth”number = ...
trustXForwardedProto
Section titled “trustXForwardedProto”boolean = ...
whitelist
Section titled “whitelist”string[] | null = ...
whitelistCountries
Section titled “whitelistCountries”string[] = ...
logger
Section titled “logger”Returns
Section titled “Returns”MetricsCollector
Methods
Section titled “Methods”collectRequestMetrics()
Section titled “collectRequestMetrics()”collectRequestMetrics(
request,responseTime,statusCode):Promise<void>
Defined in: core/src/core/events/metrics.ts:32
Parameters
Section titled “Parameters”request
Section titled “request”responseTime
Section titled “responseTime”number
statusCode
Section titled “statusCode”number
Returns
Section titled “Returns”Promise<void>
sendMetric()
Section titled “sendMetric()”sendMetric(
metricType,value,tags?):Promise<void>
Defined in: core/src/core/events/metrics.ts:13
Parameters
Section titled “Parameters”metricType
Section titled “metricType”string
number
Record<string, string>
Returns
Section titled “Returns”Promise<void>