Skip to content

Commit

Permalink
feat: make compatible with latest open telemetry deps
Browse files Browse the repository at this point in the history
  • Loading branch information
stfsy committed Jul 11, 2022
1 parent 9da65bb commit 5d6a543
Show file tree
Hide file tree
Showing 3 changed files with 100 additions and 151 deletions.
20 changes: 8 additions & 12 deletions lib/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
'use strict'

const telemetry = require('@opentelemetry/api-metrics');
const { PrometheusExporter } = require('@opentelemetry/exporter-prometheus')
const { MeterProvider } = require('@opentelemetry/sdk-metrics-base')
const { createHash } = require('crypto')
Expand Down Expand Up @@ -41,16 +42,16 @@ const exporter = new PrometheusExporter({ host, port, endpoint, appendTimestamp,
const meter = new MeterProvider({
exporter,
interval
}).getMeter('logged-in-users', 1)
})
meter.addMetricReader(exporter)

let up = 1
let sessions = {}
let logins = {}

meter.createObservableGauge('user_sessions_currently_active', {
meter.getMeter('default').createObservableGauge('user_sessions_currently_active', {
description: 'Currently logged in users',
constantLabels: ['user', 'ip']
}, (observer) => {
}).addCallback((observer) => {
if (!sessions) {
return
}
Expand All @@ -61,18 +62,15 @@ meter.createObservableGauge('user_sessions_currently_active', {
})
})

meter.createObservableGauge('up', {
meter.getMeter('default').createObservableGauge('up', {
description: 'Health and status of the exporter',
constantLabels: ['version']
}, (observer) => {

observer.observe(up, {
}).addCallback(observe => {
observe.observe(up, {
version: pkg.version
})
})

meter.collect()

const lookup = async () => {
try {
const wResult = await w()
Expand All @@ -97,8 +95,6 @@ const lookup = async () => {
}
sessions[key].push(createHash('sha256').update(JSON.stringify(value)).digest().toString('base64'))
})

meter.collect()
} catch (e) {
up = 0
console.log(`Could not gather metrics. Will retry after ${interval} ms`, e)
Expand Down
226 changes: 90 additions & 136 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,8 @@
},
"homepage": "https://github.com/stfsy/prometheus-what-active-users-exporter#readme",
"dependencies": {
"@opentelemetry/api": "^1.1.0",
"@opentelemetry/exporter-prometheus": "^0.27.0",
"@opentelemetry/sdk-metrics-base": "^0.27.0",
"@opentelemetry/exporter-prometheus": "^0.30.0",
"@opentelemetry/sdk-metrics-base": "^0.30.0",
"http-graceful-shutdown": "^3.1.7"
},
"devDependencies": {
Expand Down

0 comments on commit 5d6a543

Please sign in to comment.