@neo-one/monitor
Advanced tools
Comparing version 1.0.0-alpha.4 to 1.0.0-alpha.5
{ | ||
"name": "@neo-one/monitor", | ||
"version": "1.0.0-alpha.4", | ||
"version": "1.0.0-alpha.5", | ||
"keywords": [ | ||
@@ -5,0 +5,0 @@ "neo", |
@@ -62,3 +62,3 @@ /* @flow */ | ||
namespace: string, | ||
logger: Logger, | ||
logger?: Logger, | ||
tracer?: Tracer, | ||
@@ -80,3 +80,8 @@ metricsLogLevel?: LogLevel, | ||
namespace, | ||
logger, | ||
logger: logger || { | ||
log: () => {}, | ||
close: (callback: () => void) => { | ||
callback(); | ||
}, | ||
}, | ||
tracer, | ||
@@ -83,0 +88,0 @@ metricsFactory: new BrowserMetricsFactory(), |
/* @flow */ | ||
import type { Context } from 'koa'; | ||
import type { | ||
@@ -136,3 +137,9 @@ Carrier, | ||
DB_STATEMENT_SUMMARY: 'db.statement.summary', | ||
HTTP_PATH: 'http.path', | ||
HTTP_USER_AGENT: 'http.user_agent', | ||
HTTP_REQUEST_SIZE: 'http.request.size', | ||
HTTP_HEADERS: 'http.headers', | ||
HTTP_REQUEST_PROTOCOL: 'http.request.protocol', | ||
HTTP_REQUEST_QUERY: 'http.request.query', | ||
RPC_METHOD: 'rpc.method', | ||
@@ -315,12 +322,12 @@ RPC_TYPE: 'rpc.type', | ||
forRequest(ctx: Context): Monitor { | ||
return this.withLabels({ | ||
[KNOWN_LABELS.HTTP_METHOD]: ctx.method, | ||
[KNOWN_LABELS.SPAN_KIND]: 'server', | ||
}).withData({ | ||
[KNOWN_LABELS.HTTP_URL]: ctx.originalUrl || ctx.url, | ||
[KNOWN_LABELS.HTTP_PATH]: ctx.path, | ||
}); | ||
// eslint-disable-next-line | ||
forContext(ctx: Context): Monitor { | ||
return this; | ||
} | ||
// eslint-disable-next-line | ||
forMessage(ctx: http$IncomingMessage): Monitor { | ||
return this; | ||
} | ||
log({ name, message, level, help, metric, error }: LogOptions): void { | ||
@@ -327,0 +334,0 @@ this._commonLog({ |
@@ -10,3 +10,10 @@ /* @flow */ | ||
import type { Counter, Gauge, Histogram, LogLevel, Summary } from './types'; | ||
import type { | ||
Counter, | ||
Gauge, | ||
Histogram, | ||
LogLevel, | ||
Monitor, | ||
Summary, | ||
} from './types'; | ||
import MonitorBase, { | ||
@@ -118,3 +125,3 @@ type Logger, | ||
namespace: string, | ||
logger: Logger, | ||
logger?: Logger, | ||
tracer?: Tracer, | ||
@@ -139,3 +146,8 @@ metricsLogLevel?: LogLevel, | ||
namespace, | ||
logger, | ||
logger: logger || { | ||
log: () => {}, | ||
close: (callback: () => void) => { | ||
callback(); | ||
}, | ||
}, | ||
tracer, | ||
@@ -149,2 +161,27 @@ metricsFactory: new NodeMetricsFactory(), | ||
forContext(ctx: Context): Monitor { | ||
return this.withLabels({ | ||
[this.labels.HTTP_METHOD]: ctx.request.method, | ||
[this.labels.SPAN_KIND]: 'server', | ||
[this.labels.HTTP_REQUEST_PROTOCOL]: ctx.request.protocol, | ||
}).withData({ | ||
[this.labels.HTTP_HEADERS]: JSON.stringify(ctx.request.headers), | ||
[this.labels.HTTP_URL]: ctx.request.originalUrl, | ||
[this.labels.HTTP_PATH]: ctx.request.path, | ||
[this.labels.HTTP_REQUEST_QUERY]: ctx.request.querystring, | ||
[this.labels.PEER_ADDRESS]: ctx.request.ip, | ||
[this.labels.PEER_PORT]: ctx.request.socket.remotePort, | ||
[this.labels.HTTP_REQUEST_SIZE]: ctx.request.length, | ||
}); | ||
} | ||
forMessage(message: http$IncomingMessage): Monitor { | ||
const app = new Koa(); | ||
app.proxy = true; | ||
// $FlowFixMe | ||
app.silent = true; | ||
const ctx = ((app: $FlowFixMe).createContext(message, undefined): Context); | ||
return this.forContext(ctx); | ||
} | ||
serveMetrics(port: number): void { | ||
@@ -151,0 +188,0 @@ const app = new Koa(); |
@@ -238,5 +238,17 @@ /* @flow */ | ||
// Low cardinality version of db.statement | ||
DB_STATEMENT_SUMMARY: 'db.statement.summary', | ||
// The path of the request. Must be low cardinality. E.g. /account/:id | ||
// not /account/123 | ||
HTTP_PATH: 'http.path', | ||
// The user agent for the request. | ||
HTTP_USER_AGENT: 'http.user_agent', | ||
// Request length | ||
HTTP_REQUEST_SIZE: 'http.request.size', | ||
// Headers | ||
HTTP_HEADERS: 'http.headers', | ||
// Request protocol | ||
HTTP_REQUEST_PROTOCOL: 'http.request.protocol', | ||
// Request querystring | ||
HTTP_REQUEST_QUERY: 'http.request.query', | ||
// RPC method called. E.g. getblock. | ||
@@ -272,3 +284,4 @@ RPC_METHOD: 'rpc.method', | ||
withData(data: Labels): Monitor; | ||
forRequest(ctx: Context): Monitor; | ||
forContext(ctx: Context): Monitor; | ||
forMessage(message: http$IncomingMessage): Monitor; | ||
@@ -275,0 +288,0 @@ log(options: LogOptions): void; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
436777
5556