Skip to main content

Monitoring

Monitor your Foxglove edge site.

Online status

The edge site performs periodic pings to the Foxglove API control plane to report health. Organization admins can see this status on the Sites settings page.

Prometheus

The edge site service exposes processing and memory statistics on a Prometheus metrics scraping endpoint on port 6002.

Check out the Prometheus documentation for more information.

Available metrics

  • recordings_indexed – Number of recordings indexed by the service
  • recordings_imported – Number of recordings imported to a Primary Site
  • recordings_deleted – Number of recordings deleted from the edge
  • recordings_gigabytes – Volume in recordings (GB)
  • imports_gigabytes – Volume of imported recordings (GB)
  • import_time_seconds – Histogram of import times to the Primary Site
  • import_throughput_mbps – Histogram of upload throughput to a Primary Site, when uploads are in progress
  • recording_summary_read_ms – Histogram of timings for reading MCAP summary sections from storage
  • recording_stat_ms – Histogram of timings for calling "Stat()" on MCAP files in storage
  • recording_index_ms – Histogram of timings for indexing recordings in the sqlite database
  • deletion_mark_ms – Histogram of timings for marking recordings for garbage collection in the index
  • deletion_sweep_ms – Histogram of timings for physical deletion of recordings from disk
  • control_plane_patch_recordings_deleted_ms – Histogram of timings for reporting garbage collections to the control plane
  • control_plane_post_recordings_ms – Histogram of timings for the (async) report of recording availability to console
  • recording_upload_ms – Histogram of timings for upload of a recording file to the configured inbox bucket
  • control_plane_patch_recordings_imported_ms – Histogram of timings for batched status updates issued to console after submission of recordings
  • pending_import_request_poll_ms – Histogram of timings for requests against Foxglove for pending import requests
  • database_recordings_count: Count of recordings indexed in the database.
  • database_topics_count: Count of unique topics/schemas indexed in the database.
  • database_recording_reports_count: Count of recording reports indexed in the database.
  • database_size_bytes: Total size of database in bytes.

To see a list of available metrics in your Terminal, use the kubectl command to forward the Prometheus port:

$ kubectl port-forward -n foxglove service/edge-controller 6002:6002
$ curl -X GET http://localhost:6002/metrics

Slow query logging

Slow query logging in the edge site can be enabled by supplying the following environment variables. Using these should have negligible performance impact.

  • SLOW_QUERY_LOG_MIN_DURATION: A positive integer indicating the minimum execution time in milliseconds for a query to be considered "slow". Queries slower than this will be written to logs.
  • SLOW_QUERY_LOG_PARAMETERS: A boolean indicating whether parameters should be logged, defaulting to "false".

These environment variables can be supplied in the "edgeController.env" section of the helm chart.