Compare commits
135 commits
Author | SHA1 | Date | |
---|---|---|---|
62484b3681 | |||
|
771354726b | ||
c9f1f3450d | |||
|
8680f7e544 | ||
|
ecdadc8f0b | ||
|
7a943cd22e | ||
|
004b344a2b | ||
|
e40b9d53f0 | ||
|
52eb8cb6d5 | ||
|
b43e349762 | ||
|
7d0aeeeb31 | ||
|
65668bafe4 | ||
|
62a02a15e3 | ||
|
a497060165 | ||
|
f3c6e172db | ||
|
70d7e3c7bb | ||
|
3a7c6471d6 | ||
|
80e5f8105d | ||
|
a691c21aef | ||
|
5d0795a756 | ||
|
d04c58bbd9 | ||
|
eaaf297b5b | ||
|
2d36af767b | ||
|
7e020599ed | ||
|
655529c81e | ||
|
80dda190de | ||
|
1097e3475f | ||
|
ff981b1e15 | ||
|
723db8f3d2 | ||
|
12685d0ff6 | ||
|
26ade08c6b | ||
|
7087f54292 | ||
|
44806fb292 | ||
|
7c000e96dc | ||
|
a7760b7a80 | ||
|
a8c700031e | ||
|
d1ea6f21f4 | ||
|
3a6b600093 | ||
|
ac11731246 | ||
|
38bc554eb1 | ||
|
bd1431a803 | ||
|
fed924c0e0 | ||
|
ceaa305c21 | ||
|
cfd15d10c3 | ||
|
1c29be8190 | ||
|
13d2a695a8 | ||
|
857f59ee60 | ||
|
cd433aaf88 | ||
|
c8e341cfab | ||
|
07c2f1d5bb | ||
|
b9befd7943 | ||
|
86d8462564 | ||
|
68cf47789a | ||
|
29bac04d1f | ||
|
610dbc373d | ||
|
8d05cb72a4 | ||
|
7902f8de70 | ||
|
89b9e7f371 | ||
|
18644da8d2 | ||
|
edf751bc25 | ||
|
ec2d72e6fe | ||
|
125fdbbf60 | ||
|
674e002a14 | ||
|
043a0688e9 | ||
|
14cee02a3a | ||
|
bd6e9904c5 | ||
|
0bc9aa1844 | ||
|
04a6b7a87b | ||
|
20f1b4e6bc | ||
|
81b4916d40 | ||
|
84cef04d43 | ||
|
596d51ec45 | ||
|
bfb805ba59 | ||
|
b557200bfd | ||
|
0c93b1919b | ||
|
41db6076ec | ||
|
b06184c34e | ||
|
d26339b6a4 | ||
|
928b33a229 | ||
|
e79afdad42 | ||
|
0a606961c2 | ||
|
f890c14d9a | ||
|
10f9b6cbdc | ||
|
afa674dff7 | ||
|
7443be77e4 | ||
|
043cb07cb7 | ||
|
fbb35ef2b2 | ||
|
bc101bd81f | ||
|
dcc19c2796 | ||
|
b1809f0d1d | ||
|
529b2ee782 | ||
|
0d000af30c | ||
|
e6d8221686 | ||
|
ae316c9a0f | ||
|
a2998e697f | ||
|
a2736d7844 | ||
|
2a10cd0e94 | ||
|
42fa153288 | ||
|
a6a4b523cb | ||
|
e46322d63c | ||
|
cc62f5ce20 | ||
|
55098b2e0e | ||
|
52ba7ad17d | ||
|
3205dd05d6 | ||
|
f11bd5e76b | ||
|
fff55473fc | ||
|
c2167be572 | ||
|
f8d9d009c1 | ||
|
1f45347eaf | ||
|
a8ef6c96b3 | ||
|
487b8ca48e | ||
|
2f438c9bfe | ||
|
69eddf9758 | ||
|
72d0ab9f09 | ||
|
54253cf403 | ||
|
4619c71ad0 | ||
|
293ccb8f67 | ||
|
a82ec7ad6f | ||
|
0724558254 | ||
|
c99d8d762e | ||
|
75bfa75bf9 | ||
|
a57b9d4b4c | ||
|
89b0169299 | ||
|
6048b75b4c | ||
|
d87c5f6000 | ||
|
01313a38f7 | ||
|
f821108b12 | ||
|
07e2668854 | ||
|
cafc2eeba2 | ||
|
36de17a7c9 | ||
|
0e528b58d2 | ||
|
8134f4c5c3 | ||
|
c70e051170 | ||
|
a237534c08 | ||
|
218527d6cc |
16 changed files with 399 additions and 159 deletions
1
.github/CODEOWNERS
vendored
Normal file
1
.github/CODEOWNERS
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
* @0x46616c6b
|
25
.github/dependabot.yml
vendored
25
.github/dependabot.yml
vendored
|
@ -4,12 +4,31 @@ updates:
|
||||||
- package-ecosystem: "gomod"
|
- package-ecosystem: "gomod"
|
||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: "weekly"
|
||||||
|
day: "friday"
|
||||||
|
time: "09:00"
|
||||||
|
timezone: "Europe/Berlin"
|
||||||
|
groups:
|
||||||
|
gomod:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
|
|
||||||
- package-ecosystem: "docker"
|
- package-ecosystem: "docker"
|
||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: "weekly"
|
||||||
|
day: "friday"
|
||||||
|
time: "09:00"
|
||||||
|
timezone: "Europe/Berlin"
|
||||||
|
|
||||||
- package-ecosystem: "github-actions"
|
- package-ecosystem: "github-actions"
|
||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: "weekly"
|
||||||
|
day: "friday"
|
||||||
|
time: "09:00"
|
||||||
|
timezone: "Europe/Berlin"
|
||||||
|
groups:
|
||||||
|
github-actions:
|
||||||
|
patterns:
|
||||||
|
- "*"
|
||||||
|
|
41
.github/release-drafter.yml
vendored
Normal file
41
.github/release-drafter.yml
vendored
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
name-template: '$RESOLVED_VERSION'
|
||||||
|
tag-template: '$RESOLVED_VERSION'
|
||||||
|
categories:
|
||||||
|
- title: '🚀 Features'
|
||||||
|
labels:
|
||||||
|
- 'feature'
|
||||||
|
- 'enhancement'
|
||||||
|
- title: '🐛 Bug Fixes'
|
||||||
|
labels:
|
||||||
|
- 'fix'
|
||||||
|
- 'bugfix'
|
||||||
|
- 'bug'
|
||||||
|
- title: '🧹 Maintenance'
|
||||||
|
labels:
|
||||||
|
- 'chore'
|
||||||
|
- 'dependencies'
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'feature'
|
||||||
|
minor:
|
||||||
|
labels:
|
||||||
|
- 'enhancement'
|
||||||
|
patch:
|
||||||
|
labels:
|
||||||
|
- 'fix'
|
||||||
|
- 'bugfix'
|
||||||
|
- 'bug'
|
||||||
|
- 'chore'
|
||||||
|
- 'dependencies'
|
||||||
|
default: patch
|
||||||
|
template: |
|
||||||
|
## Changes
|
||||||
|
|
||||||
|
$CHANGES
|
||||||
|
|
||||||
|
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...$RESOLVED_VERSION
|
||||||
|
|
||||||
|
## Docker
|
||||||
|
|
||||||
|
- `docker pull systemli/prometheus-jitsi-meet-exporter:$RESOLVED_VERSION`
|
87
.github/workflows/integration.yaml
vendored
87
.github/workflows/integration.yaml
vendored
|
@ -2,39 +2,84 @@ name: Integration
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
pull_request_target:
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
name: Test
|
name: Test
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup go
|
- name: Setup go
|
||||||
uses: actions/setup-go@v2.1.3
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: '1.16.x'
|
go-version: "1.17.x"
|
||||||
|
|
||||||
|
- name: Cache Go Dependencies
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cache/go-build
|
||||||
|
~/go/pkg/mod
|
||||||
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-go-
|
||||||
|
|
||||||
- name: Vet
|
- name: Vet
|
||||||
run: make vet
|
run: go vet
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: make coverage
|
run: go test ./...
|
||||||
|
|
||||||
build:
|
build:
|
||||||
name: Build
|
name: Build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
|
needs:
|
||||||
|
- test
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- name: Setup go
|
|
||||||
uses: actions/setup-go@v2.1.3
|
- name: Setup go
|
||||||
with:
|
uses: actions/setup-go@v5
|
||||||
go-version: '1.16.x'
|
with:
|
||||||
- name: Build
|
go-version: "1.17.x"
|
||||||
run: make build
|
|
||||||
|
- name: Cache Go Dependencies
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cache/go-build
|
||||||
|
~/go/pkg/mod
|
||||||
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-go-
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: go build ./...
|
||||||
|
|
||||||
docker:
|
|
||||||
name: Docker
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Docker
|
- name: Docker
|
||||||
run: make docker
|
run: docker build .
|
||||||
|
|
||||||
|
automerge:
|
||||||
|
name: Merge Automatically
|
||||||
|
needs: [test, build]
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Obtain Access Token
|
||||||
|
id: acces_token
|
||||||
|
run: |
|
||||||
|
TOKEN="$(npx obtain-github-app-installation-access-token ci ${{ secrets.SYSTEMLI_APP_CREDENTIALS_TOKEN }})"
|
||||||
|
echo "token=$TOKEN" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: Merge
|
||||||
|
uses: fastify/github-action-merge-dependabot@v3
|
||||||
|
with:
|
||||||
|
github-token: ${{ steps.acces_token.outputs.token }}
|
||||||
|
|
12
.github/workflows/quality.yaml
vendored
12
.github/workflows/quality.yaml
vendored
|
@ -2,15 +2,15 @@ name: Quality
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
pull_request_target:
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
golangci:
|
golangci:
|
||||||
name: GolangCI
|
name: GolangCI
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- name: GolangCI
|
- name: GolangCI
|
||||||
uses: golangci/golangci-lint-action@v2.5.1
|
uses: golangci/golangci-lint-action@v3
|
||||||
with:
|
|
||||||
version: v1.31
|
|
||||||
|
|
18
.github/workflows/release-drafter.yaml
vendored
Normal file
18
.github/workflows/release-drafter.yaml
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
name: Release Drafter
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
name: Update Release
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- name: Publish Release
|
||||||
|
uses: release-drafter/release-drafter@v5
|
||||||
|
with:
|
||||||
|
publish: false
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
89
.github/workflows/release.yaml
vendored
89
.github/workflows/release.yaml
vendored
|
@ -1,71 +1,42 @@
|
||||||
name: Release
|
name: Release
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
release:
|
||||||
tags:
|
types: [published]
|
||||||
- '*'
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
name: Release
|
name: Release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup go
|
- name: Setup go
|
||||||
uses: actions/setup-go@v2.1.3
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: '1.16.x'
|
go-version: "1.17.x"
|
||||||
- name: Create release artifacts
|
|
||||||
run: make release
|
- name: Cache Go Dependencies
|
||||||
env:
|
uses: actions/cache@v4
|
||||||
GOPATH: ${{ github.workspace }}/go
|
with:
|
||||||
- name: Create Github Release
|
path: |
|
||||||
id: create_release
|
~/.cache/go-build
|
||||||
uses: actions/create-release@v1
|
~/go/pkg/mod
|
||||||
|
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-go-
|
||||||
|
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3.0.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build Releases
|
||||||
|
uses: goreleaser/goreleaser-action@v5.0.0
|
||||||
|
with:
|
||||||
|
version: latest
|
||||||
|
args: release --rm-dist
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
|
||||||
tag_name: ${{ github.ref }}
|
|
||||||
release_name: ${{ github.ref }}
|
|
||||||
draft: false
|
|
||||||
prerelease: false
|
|
||||||
- name: Upload release artifacts (Mac OS amd64)
|
|
||||||
id: upload-release-asset-mac
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: build/prometheus-jitsi-meet-exporter-darwin-amd64
|
|
||||||
asset_name: prometheus-jitsi-meet-exporter-darwin-amd64
|
|
||||||
asset_content_type: application/octet-stream
|
|
||||||
- name: Upload release artifacts (FreeBSD amd64)
|
|
||||||
id: upload-release-asset-freebsd
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: build/prometheus-jitsi-meet-exporter-freebsd-amd64
|
|
||||||
asset_name: prometheus-jitsi-meet-exporter-freebsd-amd64
|
|
||||||
asset_content_type: application/octet-stream
|
|
||||||
- name: Upload release artifacts (Linux amd64)
|
|
||||||
id: upload-release-asset-linux
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: build/prometheus-jitsi-meet-exporter-linux-amd64
|
|
||||||
asset_name: prometheus-jitsi-meet-exporter-linux-amd64
|
|
||||||
asset_content_type: application/octet-stream
|
|
||||||
- name: Upload release artifacts (shasums)
|
|
||||||
id: upload-release-asset-sha512sums
|
|
||||||
uses: actions/upload-release-asset@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
with:
|
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
||||||
asset_path: build/sha512sums.txt
|
|
||||||
asset_name: sha512sums.txt
|
|
||||||
asset_content_type: application/octet-stream
|
|
||||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1 +1 @@
|
||||||
build
|
dist
|
||||||
|
|
30
.goreleaser.yml
Normal file
30
.goreleaser.yml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
before:
|
||||||
|
hooks:
|
||||||
|
- go mod tidy
|
||||||
|
builds:
|
||||||
|
- env:
|
||||||
|
- CGO_ENABLED=0
|
||||||
|
goos:
|
||||||
|
- linux
|
||||||
|
- windows
|
||||||
|
- darwin
|
||||||
|
goarm:
|
||||||
|
- "6"
|
||||||
|
- "7"
|
||||||
|
ldflags:
|
||||||
|
- -s -w
|
||||||
|
dockers:
|
||||||
|
-
|
||||||
|
goos: linux
|
||||||
|
goarch: amd64
|
||||||
|
image_templates:
|
||||||
|
- "systemli/prometheus-jitsi-meet-exporter:{{ .Tag }}"
|
||||||
|
- "systemli/prometheus-jitsi-meet-exporter:{{ .Major }}"
|
||||||
|
- "systemli/prometheus-jitsi-meet-exporter:{{ .Major }}.{{ .Minor }}"
|
||||||
|
- "systemli/prometheus-jitsi-meet-exporter:latest"
|
||||||
|
checksum:
|
||||||
|
name_template: 'checksums.txt'
|
||||||
|
snapshot:
|
||||||
|
name_template: "{{ .Tag }}-next"
|
||||||
|
changelog:
|
||||||
|
skip: true
|
33
Dockerfile
33
Dockerfile
|
@ -1,11 +1,30 @@
|
||||||
FROM golang:1.16.0-alpine
|
# syntax=docker/dockerfile:1
|
||||||
WORKDIR /go/src/github.com/systemli/prometheus-jitsi-meet-exporter
|
|
||||||
ADD . /go/src/github.com/systemli/prometheus-jitsi-meet-exporter
|
# Build the application from source
|
||||||
RUN go build -o /prometheus-jitsi-meet-exporter
|
FROM golang:1.21.4 AS build-stage
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY go.mod go.sum ./
|
||||||
|
RUN go mod download
|
||||||
|
|
||||||
|
COPY *.go ./
|
||||||
|
|
||||||
|
RUN CGO_ENABLED=0 GOOS=linux go build -o /prometheus-jitsi-meet-exporter
|
||||||
|
|
||||||
FROM alpine
|
# Run the tests in the container
|
||||||
WORKDIR /app
|
FROM build-stage AS run-test-stage
|
||||||
COPY --from=0 /prometheus-jitsi-meet-exporter /prometheus-jitsi-meet-exporter
|
RUN go test -v ./...
|
||||||
|
|
||||||
|
# Deploy the application binary into a lean image
|
||||||
|
FROM gcr.io/distroless/base-debian11 AS build-release-stage
|
||||||
|
|
||||||
|
WORKDIR /
|
||||||
|
|
||||||
|
COPY --from=build-stage /prometheus-jitsi-meet-exporter /prometheus-jitsi-meet-exporter
|
||||||
|
|
||||||
EXPOSE 9888
|
EXPOSE 9888
|
||||||
|
|
||||||
|
USER nonroot:nonroot
|
||||||
|
|
||||||
ENTRYPOINT ["/prometheus-jitsi-meet-exporter"]
|
ENTRYPOINT ["/prometheus-jitsi-meet-exporter"]
|
||||||
|
|
44
Makefile
44
Makefile
|
@ -1,44 +0,0 @@
|
||||||
GOCMD = go
|
|
||||||
GOBUILD = $(GOCMD) build
|
|
||||||
GOCLEAN = $(GOCMD) clean
|
|
||||||
GOTEST = $(GOCMD) test
|
|
||||||
GOVET = $(GOCMD) vet
|
|
||||||
GOGET = $(GOCMD) get
|
|
||||||
GOX = $(GOPATH)/bin/gox
|
|
||||||
GOGET = $(GOCMD) get
|
|
||||||
|
|
||||||
GOX_ARGS = -output="$(BUILD_DIR)/{{.Dir}}-{{.OS}}-{{.Arch}}" -osarch="linux/amd64 darwin/amd64 freebsd/amd64"
|
|
||||||
|
|
||||||
BUILD_DIR = build
|
|
||||||
BINARY_NAME = prometheus-jitsi-meet-exporter
|
|
||||||
|
|
||||||
all: clean vet test build
|
|
||||||
|
|
||||||
build:
|
|
||||||
$(GOBUILD) -o $(BUILD_DIR)/$(BINARY_NAME) -v
|
|
||||||
|
|
||||||
vet:
|
|
||||||
${GOVET} ./...
|
|
||||||
|
|
||||||
test:
|
|
||||||
${GOTEST} ./...
|
|
||||||
|
|
||||||
coverage:
|
|
||||||
${GOTEST} -coverprofile=coverage.txt -covermode=atomic ./...
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(GOCLEAN)
|
|
||||||
rm -f $(BUILD_DIR)/*
|
|
||||||
|
|
||||||
run: build
|
|
||||||
./$(BUILD_DIR)/$(BINARY_NAME)
|
|
||||||
|
|
||||||
release:
|
|
||||||
${GOGET} -u github.com/mitchellh/gox
|
|
||||||
${GOX} -ldflags "${LD_FLAGS}" ${GOX_ARGS}
|
|
||||||
shasum -a 512 build/* > build/sha512sums.txt
|
|
||||||
|
|
||||||
docker:
|
|
||||||
docker build --rm --force-rm --no-cache -t systemli/prometheus-jitsi-meet-exporter .
|
|
||||||
|
|
||||||
.PHONY: all vet test coverage clean build run release docker
|
|
43
README.md
43
README.md
|
@ -1,6 +1,6 @@
|
||||||
# Jitsi Meet Metrics Exporter
|
# Jitsi Meet Metrics Exporter
|
||||||
|
|
||||||
[](https://github.com/systemli/prometheus-jitsi-meet-exporter/workflows/Integration/badge.svg?branch=master) [](https://github.com/systemli/prometheus-jitsi-meet-exporter/workflows/Quality/badge.svg?branch=master) [](https://hub.docker.com/r/systemli/prometheus-jitsi-meet-exporter) [](https://hub.docker.com/r/systemli/prometheus-jitsi-meet-exporter)
|
[](https://github.com/systemli/prometheus-jitsi-meet-exporter/workflows/Integration/badge.svg?branch=main) [](https://github.com/systemli/prometheus-jitsi-meet-exporter/workflows/Quality/badge.svg?branch=main) [](https://hub.docker.com/r/systemli/prometheus-jitsi-meet-exporter) [](https://hub.docker.com/r/systemli/prometheus-jitsi-meet-exporter)
|
||||||
|
|
||||||
Prometheus Exporter for Jitsi Meet written in Go. Based on [Jitsi Meet Exporter](https://git.autistici.org/ai3/tools/jitsi-prometheus-exporter) from [Autistici](https://www.autistici.org/)
|
Prometheus Exporter for Jitsi Meet written in Go. Based on [Jitsi Meet Exporter](https://git.autistici.org/ai3/tools/jitsi-prometheus-exporter) from [Autistici](https://www.autistici.org/)
|
||||||
|
|
||||||
|
@ -10,8 +10,7 @@ The exporter will handle both of them, but some metrics that aren't exposed may
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
```
|
```
|
||||||
go get github.com/systemli/prometheus-jitsi-meet-exporter
|
go install github.com/systemli/prometheus-jitsi-meet-exporter@latest
|
||||||
go install github.com/systemli/prometheus-jitsi-meet-exporter
|
|
||||||
$GOPATH/bin/prometheus-jitsi-meet-exporter
|
$GOPATH/bin/prometheus-jitsi-meet-exporter
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -30,7 +29,7 @@ Example Playbook:
|
||||||
### Docker
|
### Docker
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run -p 9888:9888 systemli/prometheus-jitsi-meet-exporter:latest -videobridge-url http://jitsi:8888/stats
|
docker run -p 9888:9888 systemli/prometheus-jitsi-meet-exporter:latest -videobridge-url http://jitsi:8080/colibri/stats
|
||||||
```
|
```
|
||||||
|
|
||||||
## Dashboard
|
## Dashboard
|
||||||
|
@ -125,6 +124,42 @@ jitsi_total_colibri_web_socket_messages_received 0
|
||||||
# HELP jitsi_total_colibri_web_socket_messages_sent The total number messages sent through COLIBRI web sockets.
|
# HELP jitsi_total_colibri_web_socket_messages_sent The total number messages sent through COLIBRI web sockets.
|
||||||
# TYPE jitsi_total_colibri_web_socket_messages_sent counter
|
# TYPE jitsi_total_colibri_web_socket_messages_sent counter
|
||||||
jitsi_total_colibri_web_socket_messages_sent 0
|
jitsi_total_colibri_web_socket_messages_sent 0
|
||||||
|
# HELP jitsi_octo_version The current running OCTO version
|
||||||
|
# TYPE jitsi_octo_version gauge
|
||||||
|
jitsi_octo_version 0
|
||||||
|
# HELP jitsi_octo_conferences The current number of OCTO conferences.
|
||||||
|
# TYPE jitsi_octo_conferences gauge
|
||||||
|
jitsi_octo_conferences 0
|
||||||
|
# HELP jitsi_octo_endpoints The current number of OCTO endpoints.
|
||||||
|
# TYPE jitsi_octo_endpoints gauge
|
||||||
|
jitsi_octo_endpoints 0
|
||||||
|
# HELP jitsi_octo_receive_bitrate The total receiving bitrate for the OCTO video bridge in kilobits per second.
|
||||||
|
# TYPE jitsi_octo_receive_bitrate gauge
|
||||||
|
jitsi_octo_receive_bitrate 0
|
||||||
|
# HELP jitsi_octo_send_bitrate The total outgoing bitrate for the OCTO video bridge in kilobits per second.
|
||||||
|
# TYPE jitsi_octo_send_bitrate gauge
|
||||||
|
jitsi_octo_send_bitrate 0
|
||||||
|
# HELP jitsi_octo_receive_packet_rate The total incoming packet rate for the OCTO video bridge in packets per second.
|
||||||
|
# TYPE jitsi_octo_receive_packet_rate gauge
|
||||||
|
jitsi_octo_receive_packet_rate 0
|
||||||
|
# HELP jitsi_octo_send_packet_rate The total outgoing packet rate for the OCTO video bridge in packets per second.
|
||||||
|
# TYPE jitsi_octo_send_packet_rate gauge
|
||||||
|
jitsi_octo_send_packet_rate 0
|
||||||
|
# HELP jitsi_total_bytes_received_octo The total incoming bit rate for the OCTO video bridge in bytes per second.
|
||||||
|
# TYPE jitsi_total_bytes_received_octo gauge
|
||||||
|
jitsi_total_bytes_received_octo 0
|
||||||
|
# HELP jitsi_total_bytes_sent_octo The total outgoing bit rate for the OCTO video bridge in bytes per second.
|
||||||
|
# TYPE jitsi_total_bytes_sent_octo gauge
|
||||||
|
jitsi_total_bytes_sent_octo 0
|
||||||
|
# HELP jitsi_total_packets_dropped_octo The total of dropped packets handled by the OCTO video bridge.
|
||||||
|
# TYPE jitsi_total_packets_dropped_octo gauge
|
||||||
|
jitsi_total_packets_dropped_octo 0
|
||||||
|
# HELP jitsi_total_packets_received_octo The total of incoming dropped packets handled by the OCTO video bridge.
|
||||||
|
# TYPE jitsi_total_packets_received_octo gauge
|
||||||
|
jitsi_total_packets_received_octo 0
|
||||||
|
# HELP jitsi_total_packets_sent_octo The total of sent dropped packets handled by the OCTO video bridge.
|
||||||
|
# TYPE jitsi_total_packets_sent_octo gauge
|
||||||
|
jitsi_total_packets_sent_octo 0
|
||||||
```
|
```
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
4
go.mod
4
go.mod
|
@ -1,5 +1,5 @@
|
||||||
module github.com/systemli/prometheus-jitsi-meet-exporter
|
module github.com/systemli/prometheus-jitsi-meet-exporter
|
||||||
|
|
||||||
go 1.14
|
go 1.17
|
||||||
|
|
||||||
require github.com/google/go-cmp v0.5.4
|
require github.com/google/go-cmp v0.6.0
|
||||||
|
|
6
go.sum
6
go.sum
|
@ -1,4 +1,2 @@
|
||||||
github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
|
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
|
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
|
||||||
|
|
38
main.go
38
main.go
|
@ -10,7 +10,7 @@ import (
|
||||||
|
|
||||||
var (
|
var (
|
||||||
addr = flag.String("web.listen-address", ":9888", "Address on which to expose metrics and web interface.")
|
addr = flag.String("web.listen-address", ":9888", "Address on which to expose metrics and web interface.")
|
||||||
videoBridgeURL = flag.String("videobridge-url", "http://localhost:8888/stats", "Jitsi Videobridge /stats URL to scrape")
|
videoBridgeURL = flag.String("videobridge-url", "http://localhost:8080/colibri/stats", "Jitsi Videobridge /stats URL to scrape")
|
||||||
)
|
)
|
||||||
|
|
||||||
type videoBridgeStats struct {
|
type videoBridgeStats struct {
|
||||||
|
@ -48,15 +48,19 @@ type videoBridgeStats struct {
|
||||||
OctoVersion int `json:"octo_version"`
|
OctoVersion int `json:"octo_version"`
|
||||||
OctoConferences int `json:"octo_conferences"`
|
OctoConferences int `json:"octo_conferences"`
|
||||||
OctoEndpoints int `json:"octo_endpoints"`
|
OctoEndpoints int `json:"octo_endpoints"`
|
||||||
OctoReceiveBitrate int `json:"octo_receive_bitrate"`
|
OctoReceiveBitrate float64 `json:"octo_receive_bitrate"`
|
||||||
OctoReceivePacketRate int `json:"octo_receive_packet_rate"`
|
OctoReceivePacketRate float64 `json:"octo_receive_packet_rate"`
|
||||||
OctoSendBitrate int `json:"octo_send_bitrate"`
|
OctoSendBitrate float64 `json:"octo_send_bitrate"`
|
||||||
OctoSendPacketRate int `json:"octo_send_packet_rate"`
|
OctoSendPacketRate float64 `json:"octo_send_packet_rate"`
|
||||||
TotalBytesReceivedOcto int `json:"total_bytes_received_octo"`
|
TotalBytesReceivedOcto int `json:"total_bytes_received_octo"`
|
||||||
TotalBytesSentOcto int `json:"total_bytes_sent_octo"`
|
TotalBytesSentOcto int `json:"total_bytes_sent_octo"`
|
||||||
TotalPacketsDroppedOcto int `json:"total_packets_dropped_octo"`
|
TotalPacketsDroppedOcto int `json:"total_packets_dropped_octo"`
|
||||||
TotalPacketsReceivedOcto int `json:"total_packets_received_octo"`
|
TotalPacketsReceivedOcto int `json:"total_packets_received_octo"`
|
||||||
TotalPacketsSentOcto int `json:"total_packets_sent_octo"`
|
TotalPacketsSentOcto int `json:"total_packets_sent_octo"`
|
||||||
|
TotalICESucceededRelayed int `json:"total_ice_succeeded_relayed"`
|
||||||
|
TotalICESucceeded int `json:"total_ice_succeeded"`
|
||||||
|
TotalICESucceededTCP int `json:"total_ice_succeeded_tcp"`
|
||||||
|
TotalICEFailed int `json:"total_ice_failed"`
|
||||||
}
|
}
|
||||||
|
|
||||||
var tpl = template.Must(template.New("stats").Parse(`# HELP jitsi_threads The number of Java threads that the video bridge is using.
|
var tpl = template.Must(template.New("stats").Parse(`# HELP jitsi_threads The number of Java threads that the video bridge is using.
|
||||||
|
@ -104,6 +108,9 @@ jitsi_p2p_conferences {{.P2PConferences}}
|
||||||
# HELP jitsi_participants The current number of participants.
|
# HELP jitsi_participants The current number of participants.
|
||||||
# TYPE jitsi_participants gauge
|
# TYPE jitsi_participants gauge
|
||||||
jitsi_participants {{.Participants}}
|
jitsi_participants {{.Participants}}
|
||||||
|
# HELP jitsi_total_participants Total participants since running.
|
||||||
|
# TYPE jitsi_total_participants gauge
|
||||||
|
jitsi_total_participants {{.TotalParticipants}}
|
||||||
# HELP jitsi_videostreams An estimation of the number of current video streams forwarded by the bridge.
|
# HELP jitsi_videostreams An estimation of the number of current video streams forwarded by the bridge.
|
||||||
# TYPE jitsi_videostreams gauge
|
# TYPE jitsi_videostreams gauge
|
||||||
jitsi_videostreams {{.Videostreams}}
|
jitsi_videostreams {{.Videostreams}}
|
||||||
|
@ -182,6 +189,24 @@ jitsi_total_packets_received_octo {{.TotalPacketsReceivedOcto}}
|
||||||
# HELP jitsi_total_packets_sent_octo The total of sent dropped packets handled by the OCTO video bridge.
|
# HELP jitsi_total_packets_sent_octo The total of sent dropped packets handled by the OCTO video bridge.
|
||||||
# TYPE jitsi_total_packets_sent_octo gauge
|
# TYPE jitsi_total_packets_sent_octo gauge
|
||||||
jitsi_total_packets_sent_octo {{.TotalPacketsSentOcto}}
|
jitsi_total_packets_sent_octo {{.TotalPacketsSentOcto}}
|
||||||
|
# HELP total_ice_succeeded_relayed The total number of times an ICE Agent succeeded and the selected candidate pair included a relayed candidate.
|
||||||
|
# TYPE total_ice_succeeded_relayed gauge
|
||||||
|
total_ice_succeeded_relayed {{.TotalICESucceededRelayed}}
|
||||||
|
# HELP total_ice_succeeded The total number of times an ICE Agent succeeded.
|
||||||
|
# TYPE total_ice_succeeded gauge
|
||||||
|
total_ice_succeeded {{.TotalICESucceeded}}
|
||||||
|
# HELP total_ice_succeeded_tcp The total number of times an ICE Agent succeeded and the selected candidate was a TCP candidate.
|
||||||
|
# TYPE total_ice_succeeded_tcp gauge
|
||||||
|
total_ice_succeeded_tcp {{.TotalICESucceededTCP}}
|
||||||
|
# HELP total_ice_failed The total number of times an ICE Agent failed to establish connectivity.
|
||||||
|
# TYPE total_ice_failed gauge
|
||||||
|
total_ice_failed {{.TotalICEFailed}}
|
||||||
|
# HELP jitsi_conference_sizes Distribution of conference sizes
|
||||||
|
# TYPE jitsi_conference_sizes gauge
|
||||||
|
{{ range $key, $value := .ConferenceSizes -}}
|
||||||
|
jitsi_conference_sizes{conference_size="{{$key}}"} {{ $value }}
|
||||||
|
{{ end -}}
|
||||||
|
|
||||||
`))
|
`))
|
||||||
|
|
||||||
type handler struct {
|
type handler struct {
|
||||||
|
@ -213,6 +238,9 @@ func main() {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
http.Handle("/metrics", handler{sourceURL: *videoBridgeURL})
|
http.Handle("/metrics", handler{sourceURL: *videoBridgeURL})
|
||||||
|
http.HandleFunc("/health", func(w http.ResponseWriter, req *http.Request) {
|
||||||
|
_, _ = w.Write([]byte(`ok`))
|
||||||
|
})
|
||||||
if err := http.ListenAndServe(*addr, nil); err != nil {
|
if err := http.ListenAndServe(*addr, nil); err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
85
main_test.go
85
main_test.go
|
@ -68,6 +68,9 @@ jitsi_p2p_conferences 1
|
||||||
# HELP jitsi_participants The current number of participants.
|
# HELP jitsi_participants The current number of participants.
|
||||||
# TYPE jitsi_participants gauge
|
# TYPE jitsi_participants gauge
|
||||||
jitsi_participants 4
|
jitsi_participants 4
|
||||||
|
# HELP jitsi_total_participants Total participants since running.
|
||||||
|
# TYPE jitsi_total_participants gauge
|
||||||
|
jitsi_total_participants 18
|
||||||
# HELP jitsi_videostreams An estimation of the number of current video streams forwarded by the bridge.
|
# HELP jitsi_videostreams An estimation of the number of current video streams forwarded by the bridge.
|
||||||
# TYPE jitsi_videostreams gauge
|
# TYPE jitsi_videostreams gauge
|
||||||
jitsi_videostreams 0
|
jitsi_videostreams 0
|
||||||
|
@ -146,6 +149,42 @@ jitsi_total_packets_received_octo 0
|
||||||
# HELP jitsi_total_packets_sent_octo The total of sent dropped packets handled by the OCTO video bridge.
|
# HELP jitsi_total_packets_sent_octo The total of sent dropped packets handled by the OCTO video bridge.
|
||||||
# TYPE jitsi_total_packets_sent_octo gauge
|
# TYPE jitsi_total_packets_sent_octo gauge
|
||||||
jitsi_total_packets_sent_octo 0
|
jitsi_total_packets_sent_octo 0
|
||||||
|
# HELP total_ice_succeeded_relayed The total number of times an ICE Agent succeeded and the selected candidate pair included a relayed candidate.
|
||||||
|
# TYPE total_ice_succeeded_relayed gauge
|
||||||
|
total_ice_succeeded_relayed 0
|
||||||
|
# HELP total_ice_succeeded The total number of times an ICE Agent succeeded.
|
||||||
|
# TYPE total_ice_succeeded gauge
|
||||||
|
total_ice_succeeded 0
|
||||||
|
# HELP total_ice_succeeded_tcp The total number of times an ICE Agent succeeded and the selected candidate was a TCP candidate.
|
||||||
|
# TYPE total_ice_succeeded_tcp gauge
|
||||||
|
total_ice_succeeded_tcp 0
|
||||||
|
# HELP total_ice_failed The total number of times an ICE Agent failed to establish connectivity.
|
||||||
|
# TYPE total_ice_failed gauge
|
||||||
|
total_ice_failed 0
|
||||||
|
# HELP jitsi_conference_sizes Distribution of conference sizes
|
||||||
|
# TYPE jitsi_conference_sizes gauge
|
||||||
|
jitsi_conference_sizes{conference_size="0"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="1"} 1
|
||||||
|
jitsi_conference_sizes{conference_size="2"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="3"} 1
|
||||||
|
jitsi_conference_sizes{conference_size="4"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="5"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="6"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="7"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="8"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="9"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="10"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="11"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="12"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="13"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="14"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="15"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="16"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="17"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="18"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="19"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="20"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="21"} 0
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -163,9 +202,9 @@ jitsi_total_packets_sent_octo 0
|
||||||
"loss_rate_upload": 0.5,
|
"loss_rate_upload": 0.5,
|
||||||
"octo_conferences": 0,
|
"octo_conferences": 0,
|
||||||
"octo_endpoints": 0,
|
"octo_endpoints": 0,
|
||||||
"octo_receive_bitrate": 0,
|
"octo_receive_bitrate": 0.0,
|
||||||
"octo_receive_packet_rate": 0,
|
"octo_receive_packet_rate": 0,
|
||||||
"octo_send_bitrate": 0,
|
"octo_send_bitrate": 0.0,
|
||||||
"octo_send_packet_rate": 0,
|
"octo_send_packet_rate": 0,
|
||||||
"octo_version": 1,
|
"octo_version": 1,
|
||||||
"packet_rate_download": 0,
|
"packet_rate_download": 0,
|
||||||
|
@ -193,7 +232,7 @@ jitsi_total_packets_sent_octo 0
|
||||||
"total_failed_conferences": 0,
|
"total_failed_conferences": 0,
|
||||||
"total_ice_failed": 0,
|
"total_ice_failed": 0,
|
||||||
"total_ice_succeeded": 2,
|
"total_ice_succeeded": 2,
|
||||||
"total_ice_succeeded_tcp": 0,
|
"total_ice_succeeded_tcp": 1,
|
||||||
"total_loss_controlled_participant_seconds": 847,
|
"total_loss_controlled_participant_seconds": 847,
|
||||||
"total_loss_degraded_participant_seconds": 1,
|
"total_loss_degraded_participant_seconds": 1,
|
||||||
"total_loss_limited_participant_seconds": 0,
|
"total_loss_limited_participant_seconds": 0,
|
||||||
|
@ -207,6 +246,7 @@ jitsi_total_packets_sent_octo 0
|
||||||
"total_packets_sent_octo": 0,
|
"total_packets_sent_octo": 0,
|
||||||
"total_partially_failed_conferences": 0,
|
"total_partially_failed_conferences": 0,
|
||||||
"total_participants": 2,
|
"total_participants": 2,
|
||||||
|
"total_ice_succeeded_relayed": 3,
|
||||||
"videochannels": 0,
|
"videochannels": 0,
|
||||||
"videostreams": 0
|
"videostreams": 0
|
||||||
}`,
|
}`,
|
||||||
|
@ -255,6 +295,9 @@ jitsi_p2p_conferences 0
|
||||||
# HELP jitsi_participants The current number of participants.
|
# HELP jitsi_participants The current number of participants.
|
||||||
# TYPE jitsi_participants gauge
|
# TYPE jitsi_participants gauge
|
||||||
jitsi_participants 0
|
jitsi_participants 0
|
||||||
|
# HELP jitsi_total_participants Total participants since running.
|
||||||
|
# TYPE jitsi_total_participants gauge
|
||||||
|
jitsi_total_participants 2
|
||||||
# HELP jitsi_videostreams An estimation of the number of current video streams forwarded by the bridge.
|
# HELP jitsi_videostreams An estimation of the number of current video streams forwarded by the bridge.
|
||||||
# TYPE jitsi_videostreams gauge
|
# TYPE jitsi_videostreams gauge
|
||||||
jitsi_videostreams 0
|
jitsi_videostreams 0
|
||||||
|
@ -333,6 +376,42 @@ jitsi_total_packets_received_octo 0
|
||||||
# HELP jitsi_total_packets_sent_octo The total of sent dropped packets handled by the OCTO video bridge.
|
# HELP jitsi_total_packets_sent_octo The total of sent dropped packets handled by the OCTO video bridge.
|
||||||
# TYPE jitsi_total_packets_sent_octo gauge
|
# TYPE jitsi_total_packets_sent_octo gauge
|
||||||
jitsi_total_packets_sent_octo 0
|
jitsi_total_packets_sent_octo 0
|
||||||
|
# HELP total_ice_succeeded_relayed The total number of times an ICE Agent succeeded and the selected candidate pair included a relayed candidate.
|
||||||
|
# TYPE total_ice_succeeded_relayed gauge
|
||||||
|
total_ice_succeeded_relayed 3
|
||||||
|
# HELP total_ice_succeeded The total number of times an ICE Agent succeeded.
|
||||||
|
# TYPE total_ice_succeeded gauge
|
||||||
|
total_ice_succeeded 2
|
||||||
|
# HELP total_ice_succeeded_tcp The total number of times an ICE Agent succeeded and the selected candidate was a TCP candidate.
|
||||||
|
# TYPE total_ice_succeeded_tcp gauge
|
||||||
|
total_ice_succeeded_tcp 1
|
||||||
|
# HELP total_ice_failed The total number of times an ICE Agent failed to establish connectivity.
|
||||||
|
# TYPE total_ice_failed gauge
|
||||||
|
total_ice_failed 0
|
||||||
|
# HELP jitsi_conference_sizes Distribution of conference sizes
|
||||||
|
# TYPE jitsi_conference_sizes gauge
|
||||||
|
jitsi_conference_sizes{conference_size="0"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="1"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="2"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="3"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="4"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="5"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="6"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="7"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="8"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="9"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="10"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="11"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="12"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="13"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="14"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="15"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="16"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="17"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="18"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="19"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="20"} 0
|
||||||
|
jitsi_conference_sizes{conference_size="21"} 0
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue