Skip to content

Mattermost metrics server for collecting performance data.

Notifications You must be signed in to change notification settings

mattermost/mattermost-metrics-server

Repository files navigation

Mattermost Metrics Server CircleCI branch

This is the metrics server for collecting performance data and trace events of Mattermost application, primarily setup for Android mobile app.

This is a serverless application built on top of AWS API Gateway and AWS Lambda with data storage in PostgreSQL.

Once deployed to AWS, the API can be accessed using the generated URL and its API key.

Offline/local development

npm run serve

Deploy

npm run deploy:production

API endpoints and expected output

  • GET /
curl --request GET \
  --url <TELEMETRY_URL>/ \
  --header 'x-api-key: <TELEMETRY_API_KEY>'

Output: Should returned message as "I'm alive"

  • POST /metric
curl --request POST \
  --url <TELEMETRY_URL>/metric \
  --header 'content-type: application/json' \
  --header 'x-api-key: <TELEMETRY_API_KEY>' \
  --data @fixtures/raw_metrics.json

Output: Should returned message as "Successfully saved"

  • GET /metrics?page=0&per_page=100
curl --request GET \
  --url <TELEMETRY_URL>/metrics \
  --header 'x-api-key: <TELEMETRY_API_KEY>'

Output: Should list of metrics, like

{metrics: [...]}
  • GET /metric/{id}
curl --request GET \
  --url <TELEMETRY_URL>/metric/<METRIC_ID> \
  --header 'x-api-key: <TELEMETRY_API_KEY>'

Output: Should returned one metric matching the ID

  • GET /traces/{device_unique_id}?chrome=true&page=0&per_page=100
curl --request GET \
  --url <TELEMETRY_URL>/traces/<DEVICE_UNIQUE_ID> \
  --header 'x-api-key: <TELEMETRY_API_KEY>'

Output: Should returned trace events compatible with chrome://tracing

Note: Each endpoint requires API key to access. It's forbidden if not provided or invalid.

About

Mattermost metrics server for collecting performance data.

Topics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •