0.1.0 • Published 6 years ago

airic-api-gateway-stat-server v0.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
6 years ago

airic-api-gateway-stat-server

npm version node Codecov branch Build

dependencies Status devDependencies Status

Description

airic-api-gateway-stat-server module is the config server component of airic-api-gateway.


Samples

Hello world

Starting server:

'use strict';
const YAML = require('yamljs');
const statServer = require('airic-api-gateway-stat-server');

const statServerConfigYaml = YAML.load('./stat-server-config.yaml');

statServer.setConfig(statServerConfigYaml)
statServer.run();

Stat Server Config YAML

Sample:

pull-api-config-interval-second: 60
config-server-base-url: http://localhost:3001
id-key-validation-endpoint-url: http://localhost:3002/keys/id-keys/verification
admin-token: d8745e9d03be41ad817a47176ade4dcc

REST APIs

Query App API usage stat. Grouped by Client

POST http://localhost:3005/statQuery/app/b84cdbefe8ab42d38df0aa415030c4a1
Content-type: application/json
id-key: {{appIdKey}}

{
    "bucketStart": 1508560920,
    "bucketEnd": 1600000000,
    "groupBy": "clientId"
}

Query App API usage stat. Grouped by Operation

POST http://localhost:3005/statQuery/app/b84cdbefe8ab42d38df0aa415030c4a1
Content-type: application/json
id-key: {{workspaceIdKey}}

{
    "bucketStart": 1508560920,
    "bucketEnd": 1600000000,
    "groupBy": "opId"
}

Query App API usage stat. Grouped by Client and filter by specific Client

POST http://localhost:3005/statQuery/app/b84cdbefe8ab42d38df0aa415030c4a1
Content-type: application/json
id-key: {{workspaceIdKey}}

{
    "clientId": "4364938982b54da1807c599a955cdfcc",
    "bucketStart": 1508560920,
    "bucketEnd": 1600000000,
    "groupBy": "clientId"
}

Query App API usage stat. Grouped by Operation and filter by specific Client

POST http://localhost:3005/statQuery/app/b84cdbefe8ab42d38df0aa415030c4a1
Content-type: application/json
id-key: {{workspaceIdKey}}

{
    "clientId": "4364938982b54da1807c599a955cdfcc",
    "bucketStart": 1508560920,
    "bucketEnd": 1600000000,
    "groupBy": "opId"
}

Query Client perspective App API usage stat. Grouped by App.

POST http://localhost:3005/statQuery/client/4364938982b54da1807c599a955cdfcc
Content-type: application/json
id-key: {{workspaceIdKey}}

{
    "bucketStart": 1508560920,
    "bucketEnd": 1600000000
}