Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@neo-one/monitor

Package Overview
Dependencies
Maintainers
1
Versions
71
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@neo-one/monitor - npm Package Compare versions

Comparing version 1.0.0-alpha.4 to 1.0.0-alpha.5

2

package.json
{
"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;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc