@weave-js/core 0.11.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/.eslintrc.js +1 -1
  2. package/jest.config.js +1 -1
  3. package/lib/ExtendableError.js +8 -8
  4. package/lib/broker/context.js +49 -49
  5. package/lib/broker/defaultOptions.js +8 -9
  6. package/lib/broker/index.js +160 -164
  7. package/lib/buildRuntime.js +34 -34
  8. package/lib/cache/adapters/base.js +50 -74
  9. package/lib/cache/adapters/inMemory.js +58 -58
  10. package/lib/cache/adapters/inMemoryLru.js +57 -57
  11. package/lib/cache/adapters/index.js +3 -39
  12. package/lib/cache/getCacheKeyByObject.js +31 -0
  13. package/lib/cache/getPropertyFromDataOrMetadata.js +20 -0
  14. package/lib/cache/lock.js +30 -24
  15. package/lib/constants.js +5 -5
  16. package/lib/errorHandler.js +8 -8
  17. package/lib/errors.js +64 -54
  18. package/lib/helper/defineAction.js +2 -2
  19. package/lib/helper/defineBrokerOptions.js +2 -2
  20. package/lib/helper/defineService.js +2 -2
  21. package/lib/index.js +21 -21
  22. package/lib/logger/base.js +38 -29
  23. package/lib/logger/format/asHumanReadable.js +15 -15
  24. package/lib/logger/format/asJson.js +10 -10
  25. package/lib/logger/format/index.js +3 -3
  26. package/lib/logger/index.js +24 -24
  27. package/lib/logger/levels.js +21 -21
  28. package/lib/logger/tools.js +15 -15
  29. package/lib/logger/utils/colorize.js +23 -23
  30. package/lib/logger/utils/format.js +75 -65
  31. package/lib/metrics/common.js +47 -47
  32. package/lib/metrics/constants.js +44 -44
  33. package/lib/metrics/exporter/base.js +8 -8
  34. package/lib/metrics/exporter/event.js +20 -20
  35. package/lib/metrics/exporter/index.js +15 -15
  36. package/lib/metrics/index.js +2 -2
  37. package/lib/metrics/types/base.js +20 -20
  38. package/lib/metrics/types/counter.js +6 -6
  39. package/lib/metrics/types/gauge.js +24 -24
  40. package/lib/metrics/types/histogram.js +26 -26
  41. package/lib/metrics/types/index.js +6 -6
  42. package/lib/metrics/types/info.js +17 -17
  43. package/lib/middlewares/action-hooks/index.js +38 -38
  44. package/lib/middlewares/bulkhead/index.js +34 -34
  45. package/lib/middlewares/cache/index.js +37 -37
  46. package/lib/middlewares/circuit-breaker/index.js +62 -62
  47. package/lib/middlewares/context-tracker/index.js +39 -39
  48. package/lib/middlewares/error-handler/index.js +47 -15
  49. package/lib/middlewares/index.js +2 -2
  50. package/lib/middlewares/metrics/getMiddlewareWrapper.js +17 -17
  51. package/lib/middlewares/metrics/index.js +29 -29
  52. package/lib/middlewares/retry/index.js +15 -15
  53. package/lib/middlewares/timeout/index.js +16 -16
  54. package/lib/middlewares/tracing/index.js +37 -37
  55. package/lib/middlewares/tracing/tags.js +6 -6
  56. package/lib/middlewares/validator/index.js +31 -31
  57. package/lib/registry/actionEndpoint.js +8 -8
  58. package/lib/registry/collections/actionCollection.js +39 -35
  59. package/lib/registry/collections/endpointCollection.js +63 -63
  60. package/lib/registry/collections/eventCollection.js +62 -62
  61. package/lib/registry/collections/nodeCollection.js +45 -45
  62. package/lib/registry/collections/serviceCollection.js +61 -55
  63. package/lib/registry/eventEndpoint.js +14 -14
  64. package/lib/registry/load-balancer/base.js +3 -3
  65. package/lib/registry/load-balancer/index.js +7 -7
  66. package/lib/registry/node.js +27 -27
  67. package/lib/registry/registry.js +139 -136
  68. package/lib/registry/service/parseAction.js +16 -16
  69. package/lib/registry/service/parseEvent.js +18 -18
  70. package/lib/registry/service/reduceMixins.js +10 -10
  71. package/lib/registry/service/service.js +72 -72
  72. package/lib/registry/serviceItem.js +21 -21
  73. package/lib/runtime/initActionInvoker.js +21 -21
  74. package/lib/runtime/initCache.js +7 -7
  75. package/lib/runtime/initContextFactory.js +22 -22
  76. package/lib/runtime/initEventbus.js +49 -49
  77. package/lib/runtime/initLogger.js +11 -11
  78. package/lib/runtime/initMetrics.js +54 -54
  79. package/lib/runtime/initMiddlewareManager.js +21 -21
  80. package/lib/runtime/initRegistry.js +6 -6
  81. package/lib/runtime/initServiceManager.js +90 -68
  82. package/lib/runtime/initTracing.js +23 -23
  83. package/lib/runtime/initTransport.js +5 -5
  84. package/lib/runtime/initUuidFactory.js +4 -4
  85. package/lib/runtime/initValidator.js +5 -5
  86. package/lib/tracing/collectors/base.js +22 -22
  87. package/lib/tracing/collectors/event.js +33 -33
  88. package/lib/tracing/collectors/index.js +15 -15
  89. package/lib/tracing/span.js +26 -26
  90. package/lib/tracing/time.js +8 -8
  91. package/lib/transport/InboundTransformStream.js +26 -26
  92. package/lib/transport/adapters/adapteBase.js +30 -30
  93. package/lib/transport/adapters/adapters.js +4 -4
  94. package/lib/transport/adapters/dummy/index.js +18 -18
  95. package/lib/transport/adapters/fromURI.js +13 -13
  96. package/lib/transport/adapters/getAdapterByName.js +5 -5
  97. package/lib/transport/adapters/index.js +12 -12
  98. package/lib/transport/adapters/tcp/discovery/codec.js +4 -4
  99. package/lib/transport/adapters/tcp/discovery/index.js +62 -62
  100. package/lib/transport/adapters/tcp/index.js +169 -171
  101. package/lib/transport/adapters/tcp/tcp-messagetypes.js +7 -7
  102. package/lib/transport/adapters/tcp/tcpReader.js +39 -39
  103. package/lib/transport/adapters/tcp/tcpWriteStream.js +26 -26
  104. package/lib/transport/adapters/tcp/tcpWriter.js +57 -57
  105. package/lib/transport/adapters/tcp/utils.js +12 -12
  106. package/lib/transport/createMessage.js +4 -4
  107. package/lib/transport/createTransport.js +254 -254
  108. package/lib/transport/errorPayloadFactory.js +13 -17
  109. package/lib/transport/messageHandlers.js +199 -206
  110. package/lib/transport/messageTypes.js +19 -19
  111. package/lib/types.js +28 -15
  112. package/lib/utils/index.js +1 -1
  113. package/lib/utils/options.js +44 -44
  114. package/lib/utils/restoreError.js +58 -6
  115. package/package.json +4 -4
  116. package/lib/cache/base.js +0 -136
@@ -1,59 +1,59 @@
1
1
  // Process
2
- exports.PROCESS_PID = 'process.pid'
3
- exports.PROCESS_PPID = 'process.ppid'
4
- exports.PROCESS_UPTIME = 'process.uptime'
2
+ exports.PROCESS_PID = 'process.pid';
3
+ exports.PROCESS_PPID = 'process.ppid';
4
+ exports.PROCESS_UPTIME = 'process.uptime';
5
5
 
6
6
  // Service broker
7
- exports.WEAVE_ENVIRONMENT = 'weave.environment'
8
- exports.WEAVE_ENVIRONMENT_VERSION = 'weave.environment-version'
9
- exports.WEAVE_VERSION = 'weave.version'
10
- exports.WEAVE_NODE_ID = 'weave.node-id'
11
- exports.WEAVE_NAMESPACE = 'weave.namespace'
7
+ exports.WEAVE_ENVIRONMENT = 'weave.environment';
8
+ exports.WEAVE_ENVIRONMENT_VERSION = 'weave.environment-version';
9
+ exports.WEAVE_VERSION = 'weave.version';
10
+ exports.WEAVE_NODE_ID = 'weave.node-id';
11
+ exports.WEAVE_NAMESPACE = 'weave.namespace';
12
12
 
13
13
  // Services
14
- exports.REQUESTS_TOTAL = 'weave.requests.total'
15
- exports.REQUESTS_IN_FLIGHT = 'weave.requests.in-flight'
16
- exports.REQUESTS_ERRORS_TOTAL = 'weave.requests.errors.total'
17
- exports.REQUESTS_TIME = 'weave.requests.time'
14
+ exports.REQUESTS_TOTAL = 'weave.requests.total';
15
+ exports.REQUESTS_IN_FLIGHT = 'weave.requests.in-flight';
16
+ exports.REQUESTS_ERRORS_TOTAL = 'weave.requests.errors.total';
17
+ exports.REQUESTS_TIME = 'weave.requests.time';
18
18
 
19
19
  // Events
20
- exports.EVENT_TOTAL_EMITS = 'weave.events.total-emits'
21
- exports.EVENT_TOTAL_BROADCASTS = 'weave.events.total-broadcasts'
22
- exports.EVENT_TOTAL_BROADCASTS_LOCAL = 'weave.events.total-broadcasts-local'
23
- exports.EVENT_TOTAL_RECEIVED = 'weave.events.total-received'
20
+ exports.EVENT_TOTAL_EMITS = 'weave.events.total-emits';
21
+ exports.EVENT_TOTAL_BROADCASTS = 'weave.events.total-broadcasts';
22
+ exports.EVENT_TOTAL_BROADCASTS_LOCAL = 'weave.events.total-broadcasts-local';
23
+ exports.EVENT_TOTAL_RECEIVED = 'weave.events.total-received';
24
24
 
25
25
  // Transporter
26
- exports.TRANSPORT_RECONNECTS = 'weave.transport.reconnects'
27
- exports.TRANSPORTER_PACKETS_SENT = 'weave.transport.packets.sent'
28
- exports.TRANSPORTER_PACKETS_RECEIVED = 'weave.transport.packets.received'
29
- exports.TRANSPORT_IN_FLIGHT_STREAMS = 'weave.transport.streams.in-flight'
26
+ exports.TRANSPORT_RECONNECTS = 'weave.transport.reconnects';
27
+ exports.TRANSPORTER_PACKETS_SENT = 'weave.transport.packets.sent';
28
+ exports.TRANSPORTER_PACKETS_RECEIVED = 'weave.transport.packets.received';
29
+ exports.TRANSPORT_IN_FLIGHT_STREAMS = 'weave.transport.streams.in-flight';
30
30
 
31
31
  // Bulkhead
32
- exports.BULKHEAD_REQUESTS_IN_FLIGHT = 'weave.bulkhead.requests.in-flight'
32
+ exports.BULKHEAD_REQUESTS_IN_FLIGHT = 'weave.bulkhead.requests.in-flight';
33
33
 
34
34
  // OS Metrics
35
- exports.OS_HOSTNAME = 'os.hostname'
36
- exports.OS_TYPE = 'os.type'
37
- exports.OS_RELEASE = 'os.release'
38
- exports.OS_ARCH = 'os.architecture'
39
- exports.OS_PLATTFORM = 'os.plattform'
40
- exports.OS_MEMORY_FREE = 'os.memory.free'
41
- exports.OS_MEMORY_USED = 'os.memory.used'
42
- exports.OS_MEMORY_TOTAL = 'os.memory.total'
43
- exports.OS_UPTIME = 'os.uptime'
44
- exports.OS_USER_UID = 'os.user.uid'
45
- exports.OS_USER_GID = 'os.user.gid'
46
- exports.OS_USER_USERNAME = 'os.user.username'
47
- exports.OS_USER_HOMEDIR = 'os.user.homedir'
48
-
49
- exports.OS_CPU_LOAD_1 = 'os.cpu-load.1'
50
- exports.OS_CPU_LOAD_5 = 'os.cpu-load.5'
51
- exports.OS_CPU_LOAD_15 = 'os.cpu-load.15'
35
+ exports.OS_HOSTNAME = 'os.hostname';
36
+ exports.OS_TYPE = 'os.type';
37
+ exports.OS_RELEASE = 'os.release';
38
+ exports.OS_ARCH = 'os.architecture';
39
+ exports.OS_PLATTFORM = 'os.plattform';
40
+ exports.OS_MEMORY_FREE = 'os.memory.free';
41
+ exports.OS_MEMORY_USED = 'os.memory.used';
42
+ exports.OS_MEMORY_TOTAL = 'os.memory.total';
43
+ exports.OS_UPTIME = 'os.uptime';
44
+ exports.OS_USER_UID = 'os.user.uid';
45
+ exports.OS_USER_GID = 'os.user.gid';
46
+ exports.OS_USER_USERNAME = 'os.user.username';
47
+ exports.OS_USER_HOMEDIR = 'os.user.homedir';
48
+
49
+ exports.OS_CPU_LOAD_1 = 'os.cpu-load.1';
50
+ exports.OS_CPU_LOAD_5 = 'os.cpu-load.5';
51
+ exports.OS_CPU_LOAD_15 = 'os.cpu-load.15';
52
52
 
53
53
  // Cache
54
- exports.CACHE_GET_TOTAL = 'weave.cache.items.get'
55
- exports.CACHE_SET_TOTAL = 'weave.cache.items.set'
56
- exports.CACHE_DELETED_TOTAL = 'weave.cache.items.deleted'
57
- exports.CACHE_FOUND_TOTAL = 'weave.cache.items.found'
58
- exports.CACHE_CLEANED_TOTAL = 'weave.cache.items.cleaned'
59
- exports.CACHE_EXPIRED_TOTAL = 'weave.cache.items.expired'
54
+ exports.CACHE_GET_TOTAL = 'weave.cache.items.get';
55
+ exports.CACHE_SET_TOTAL = 'weave.cache.items.set';
56
+ exports.CACHE_DELETED_TOTAL = 'weave.cache.items.deleted';
57
+ exports.CACHE_FOUND_TOTAL = 'weave.cache.items.found';
58
+ exports.CACHE_CLEANED_TOTAL = 'weave.cache.items.cleaned';
59
+ exports.CACHE_EXPIRED_TOTAL = 'weave.cache.items.expired';
@@ -1,15 +1,15 @@
1
- const { WeaveError } = require('../../errors')
1
+ const { WeaveError } = require('../../errors');
2
2
 
3
3
  module.exports = (options) => {
4
- const cache = {}
4
+ const cache = {};
5
5
 
6
6
  cache.init = (registry) => {
7
- Promise.resolve(new WeaveError('Init method not implemented'))
8
- }
7
+ Promise.resolve(new WeaveError('Init method not implemented'));
8
+ };
9
9
 
10
10
  cache.stop = (registry) => {
11
- Promise.resolve(new WeaveError('Stop method not implemented'))
12
- }
11
+ Promise.resolve(new WeaveError('Stop method not implemented'));
12
+ };
13
13
 
14
- return cache
15
- }
14
+ return cache;
15
+ };
@@ -1,41 +1,41 @@
1
- const { createBaseMetricAdapter } = require('./base')
1
+ const { createBaseMetricAdapter } = require('./base');
2
2
 
3
3
  module.exports = (options) => {
4
- const lastChanges = new Set()
4
+ const lastChanges = new Set();
5
5
 
6
- const adapter = createBaseMetricAdapter(options)
6
+ const adapter = createBaseMetricAdapter(options);
7
7
 
8
8
  const sendEvent = (registry, options) => {
9
- const broker = registry.broker
10
- const list = this.registry.list()
9
+ const broker = registry.broker;
10
+ const list = this.registry.list();
11
11
 
12
- broker.emit(this.options.eventName, list)
12
+ broker.emit(this.options.eventName, list);
13
13
 
14
- lastChanges.clear()
15
- }
14
+ lastChanges.clear();
15
+ };
16
16
 
17
17
  adapter.init = (registry) => {
18
18
  this.options = Object.assign(options, {
19
19
  eventName: '$metrics.changed',
20
20
  interval: 5000
21
- })
21
+ });
22
22
 
23
- this.registry = registry
23
+ this.registry = registry;
24
24
 
25
25
  if (this.options.interval > 0) {
26
- this.timer = setInterval(() => sendEvent(), this.options.interval)
27
- this.timer.unref()
26
+ this.timer = setInterval(() => sendEvent(), this.options.interval);
27
+ this.timer.unref();
28
28
  }
29
- }
29
+ };
30
30
 
31
31
  adapter.stop = () => {
32
- clearInterval(this.timer)
33
- return Promise.resolve()
34
- }
32
+ clearInterval(this.timer);
33
+ return Promise.resolve();
34
+ };
35
35
 
36
36
  adapter.metricChanged = (metric) => {
37
- lastChanges.add(metric)
38
- }
37
+ lastChanges.add(metric);
38
+ };
39
39
 
40
- return adapter
41
- }
40
+ return adapter;
41
+ };
@@ -1,44 +1,44 @@
1
- const { isString, isFunction } = require('@weave-js/utils')
2
- const { WeaveBrokerOptionsError } = require('../../errors')
1
+ const { isString, isFunction } = require('@weave-js/utils');
2
+ const { WeaveBrokerOptionsError } = require('../../errors');
3
3
 
4
4
  const adapters = {
5
5
  Base: require('./base'),
6
6
  Event: require('./event')
7
- }
7
+ };
8
8
 
9
9
  const getByName = name => {
10
10
  if (!name) {
11
- return null
11
+ return null;
12
12
  }
13
13
 
14
- const n = Object.keys(adapters).find(n => n.toLowerCase() === name.toLowerCase())
14
+ const n = Object.keys(adapters).find(n => n.toLowerCase() === name.toLowerCase());
15
15
 
16
16
  if (n) {
17
- return adapters[n]
17
+ return adapters[n];
18
18
  }
19
- }
19
+ };
20
20
 
21
21
  module.exports = {
22
22
  ...adapters,
23
23
  resolve (options) {
24
- let cacheFactory
24
+ let cacheFactory;
25
25
 
26
26
  if (options === true) {
27
- cacheFactory = this.adapters.Event
27
+ cacheFactory = this.adapters.Event;
28
28
  } else if (isString(options)) {
29
- const cache = getByName(options)
29
+ const cache = getByName(options);
30
30
 
31
31
  if (cache) {
32
- cacheFactory = cache
32
+ cacheFactory = cache;
33
33
  } else {
34
- throw new WeaveBrokerOptionsError(`Unknown metric adapter: "${options}"`)
34
+ throw new WeaveBrokerOptionsError(`Unknown metric adapter: "${options}"`);
35
35
  }
36
36
  } else if (isFunction(options)) {
37
- cacheFactory = options
37
+ cacheFactory = options;
38
38
  }
39
39
 
40
40
  if (cacheFactory) {
41
- return cacheFactory
41
+ return cacheFactory;
42
42
  }
43
43
  }
44
- }
44
+ };
@@ -1,2 +1,2 @@
1
- exports.Constants = require('./constants')
2
- exports.Exporter = require('./exporter')
1
+ exports.Constants = require('./constants');
2
+ exports.Exporter = require('./exporter');
@@ -6,39 +6,39 @@ exports.createBaseMetricType = (metricRegistry, obj) => {
6
6
  labels: obj.labels || [],
7
7
  type: obj.type,
8
8
  unit: obj.unit
9
- })
9
+ });
10
10
 
11
11
  base.stringifyLabels = (labels) => {
12
12
  if (base.labels.length === 0 || labels === null || typeof labels !== 'object') {
13
- return ''
13
+ return '';
14
14
  }
15
15
 
16
- const parts = []
16
+ const parts = [];
17
17
 
18
18
  base.labels.forEach(labelName => {
19
- const value = labels[labelName]
19
+ const value = labels[labelName];
20
20
  if (typeof value === 'number') {
21
- parts.push(value)
21
+ parts.push(value);
22
22
  } else if (typeof value === 'string') {
23
- parts.push(value)
23
+ parts.push(value);
24
24
  } else if (typeof value === 'boolean') {
25
- parts.push('' + value)
25
+ parts.push('' + value);
26
26
  } else {
27
- parts.push('')
27
+ parts.push('');
28
28
  }
29
- })
29
+ });
30
30
 
31
- return parts.join('|')
32
- }
31
+ return parts.join('|');
32
+ };
33
33
 
34
34
  base.get = (labels) => {
35
- const labelString = base.stringifyLabels(labels)
36
- return base.values.get(labelString)
37
- }
35
+ const labelString = base.stringifyLabels(labels);
36
+ return base.values.get(labelString);
37
+ };
38
38
 
39
39
  base.snapshot = () => {
40
- return base.generateSnapshot()
41
- }
40
+ return base.generateSnapshot();
41
+ };
42
42
 
43
43
  base.toObject = () => {
44
44
  return {
@@ -47,8 +47,8 @@ exports.createBaseMetricType = (metricRegistry, obj) => {
47
47
  description: base.description,
48
48
  value: base.snapshot(),
49
49
  unit: base.unit
50
- }
51
- }
50
+ };
51
+ };
52
52
 
53
- return base
54
- }
53
+ return base;
54
+ };
@@ -1,11 +1,11 @@
1
- const { createGauge } = require('./gauge')
1
+ const { createGauge } = require('./gauge');
2
2
 
3
3
  exports.createCounter = (metricRegistry, obj) => {
4
- const base = createGauge(metricRegistry, obj)
4
+ const base = createGauge(metricRegistry, obj);
5
5
 
6
6
  base.decrement = () => {
7
- throw new Error('Not allowed to decrement a counter')
8
- }
7
+ throw new Error('Not allowed to decrement a counter');
8
+ };
9
9
 
10
- return base
11
- }
10
+ return base;
11
+ };
@@ -1,19 +1,19 @@
1
- const { createBaseMetricType } = require('./base')
1
+ const { createBaseMetricType } = require('./base');
2
2
 
3
3
  exports.createGauge = (registry, obj) => {
4
- const base = createBaseMetricType(registry, obj)
4
+ const base = createBaseMetricType(registry, obj);
5
5
 
6
- base.value = 0
6
+ base.value = 0;
7
7
 
8
8
  base.increment = (labels, value, timestamp) => {
9
- const item = base.get(labels)
10
- base.set((item ? item.value : 0) + value, labels, timestamp)
11
- }
9
+ const item = base.get(labels);
10
+ base.set((item ? item.value : 0) + value, labels, timestamp);
11
+ };
12
12
 
13
13
  base.decrement = (labels, value, timestamp) => {
14
- const item = base.get(labels)
15
- base.set((item ? item.value : 0) - value, labels, timestamp)
16
- }
14
+ const item = base.get(labels);
15
+ base.set((item ? item.value : 0) - value, labels, timestamp);
16
+ };
17
17
 
18
18
  base.generateSnapshot = () => {
19
19
  return Array.from(base.values)
@@ -21,33 +21,33 @@ exports.createGauge = (registry, obj) => {
21
21
  return {
22
22
  value: item.value,
23
23
  labels: item.labels
24
- }
25
- })
26
- }
24
+ };
25
+ });
26
+ };
27
27
 
28
28
  base.set = (value, labels, timestamp = Date.now()) => {
29
- const labelString = base.stringifyLabels(labels)
30
- let item = base.values.get(labelString)
29
+ const labelString = base.stringifyLabels(labels);
30
+ let item = base.values.get(labelString);
31
31
 
32
- base.value = value
32
+ base.value = value;
33
33
 
34
34
  if (item) {
35
35
  if (item.value !== value) {
36
- item.labels = labels
37
- item.value = value
38
- item.timestamp = timestamp
36
+ item.labels = labels;
37
+ item.value = value;
38
+ item.timestamp = timestamp;
39
39
  }
40
40
  } else {
41
41
  item = {
42
42
  labels,
43
43
  value,
44
44
  timestamp
45
- }
45
+ };
46
46
 
47
- base.values.set(labelString, item)
47
+ base.values.set(labelString, item);
48
48
  }
49
- return item
50
- }
49
+ return item;
50
+ };
51
51
 
52
- return base
53
- }
52
+ return base;
53
+ };
@@ -1,34 +1,34 @@
1
- const { createBaseMetricType } = require('./base')
1
+ const { createBaseMetricType } = require('./base');
2
2
 
3
3
  exports.createHistogram = (registry, obj) => {
4
- const base = createBaseMetricType(registry, obj)
4
+ const base = createBaseMetricType(registry, obj);
5
5
 
6
- base.value = 0
6
+ base.value = 0;
7
7
 
8
8
  // create default buckets
9
9
  if (obj.buckets) {
10
- base.buckets = registry.options.defaultBuckets
10
+ base.buckets = registry.options.defaultBuckets;
11
11
  }
12
12
 
13
- base.buckets = base.buckets.sort((a, b) => a - b)
13
+ base.buckets = base.buckets.sort((a, b) => a - b);
14
14
 
15
15
  base.observe = (value, labels, timestamp) => {
16
- const labelString = base.stringifyLabels(labels)
16
+ const labelString = base.stringifyLabels(labels);
17
17
 
18
- const item = base.values.get(labelString)
18
+ const item = base.values.get(labelString);
19
19
 
20
20
  if (!value) {
21
21
 
22
22
  }
23
23
 
24
- base.set(labels, (item ? item.value : 0) + value)
25
- }
24
+ base.set(labels, (item ? item.value : 0) + value);
25
+ };
26
26
 
27
27
  base.decrement = (labels, value, timestamp) => {
28
- const item = base.get(labels)
28
+ const item = base.get(labels);
29
29
 
30
- base.set(labels, (item ? item.value : 0) - value)
31
- }
30
+ base.set(labels, (item ? item.value : 0) - value);
31
+ };
32
32
 
33
33
  base.generateSnapshot = () => {
34
34
  return Array.from(base.values)
@@ -36,32 +36,32 @@ exports.createHistogram = (registry, obj) => {
36
36
  return {
37
37
  value: item.value,
38
38
  labels: item.labels
39
- }
40
- })
41
- }
39
+ };
40
+ });
41
+ };
42
42
 
43
43
  base.set = (labels, value, timestamp) => {
44
- const labelString = base.stringifyLabels(labels)
45
- const item = base.values.get(labelString)
44
+ const labelString = base.stringifyLabels(labels);
45
+ const item = base.values.get(labelString);
46
46
 
47
- base.value = value
47
+ base.value = value;
48
48
 
49
49
  if (item) {
50
50
  if (item.value !== value) {
51
- item.labels = labels
52
- item.value = value
51
+ item.labels = labels;
52
+ item.value = value;
53
53
  }
54
54
  } else {
55
55
  const item = {
56
56
  labels: labels,
57
57
  value: value
58
- }
58
+ };
59
59
 
60
- base.values.set(labelString, item)
60
+ base.values.set(labelString, item);
61
61
  }
62
- return item
63
- }
62
+ return item;
63
+ };
64
64
 
65
- return base
66
- }
65
+ return base;
66
+ };
67
67
 
@@ -2,18 +2,18 @@ const types = {
2
2
  Counter: require('./counter').createCounter,
3
3
  Gauge: require('./gauge').createGauge,
4
4
  Info: require('./info').createInfo
5
- }
5
+ };
6
6
 
7
7
  const getByName = name => {
8
- const n = Object.keys(types).find(i => i.toLocaleLowerCase() === name.toLocaleLowerCase())
8
+ const n = Object.keys(types).find(i => i.toLocaleLowerCase() === name.toLocaleLowerCase());
9
9
 
10
10
  if (n) {
11
- return types[n]
11
+ return types[n];
12
12
  }
13
- }
13
+ };
14
14
 
15
15
  module.exports = {
16
16
  resolve (type) {
17
- return getByName(type)
17
+ return getByName(type);
18
18
  }
19
- }
19
+ };
@@ -1,7 +1,7 @@
1
- const { createBaseMetricType } = require('./base')
1
+ const { createBaseMetricType } = require('./base');
2
2
 
3
3
  exports.createInfo = (metricRegistry, obj) => {
4
- const base = createBaseMetricType(metricRegistry, obj)
4
+ const base = createBaseMetricType(metricRegistry, obj);
5
5
 
6
6
  base.generateSnapshot = () => {
7
7
  return Array.from(base.values)
@@ -9,33 +9,33 @@ exports.createInfo = (metricRegistry, obj) => {
9
9
  return {
10
10
  value: item.value,
11
11
  labels: item.labels
12
- }
13
- })
14
- }
12
+ };
13
+ });
14
+ };
15
15
 
16
16
  base.set = (value, labels, timestamp) => {
17
- const labelString = base.stringifyLabels(labels)
18
- const item = base.values.get(labelString)
17
+ const labelString = base.stringifyLabels(labels);
18
+ const item = base.values.get(labelString);
19
19
 
20
- base.value = value
20
+ base.value = value;
21
21
 
22
22
  if (item) {
23
23
  if (item.value !== value) {
24
- item.labels = labels
25
- item.value = value
26
- item.timestamp = timestamp || Date.now()
24
+ item.labels = labels;
25
+ item.value = value;
26
+ item.timestamp = timestamp || Date.now();
27
27
  }
28
28
  } else {
29
29
  const item = {
30
30
  labels: labels,
31
31
  value: value,
32
32
  timestamp: timestamp || Date.now()
33
- }
33
+ };
34
34
 
35
- base.values.set(labelString, item)
35
+ base.values.set(labelString, item);
36
36
  }
37
- return item
38
- }
37
+ return item;
38
+ };
39
39
 
40
- return base
41
- }
40
+ return base;
41
+ };