ERDDAP Metrics

While ERDDAP provides several methods for obtaining information on its status, none are easily integrated into a metrics tool like Prometheus. ERDDAPUtil therefore provides a scraper that runs every few minutes to parse the status.html page and generate Prometheus-style metrics from it. In addition, ERDDAPUtil extends this with its own metrics (e.g. number of log files removed, failed dataset XML files, etc). These are exposed by the ERDDAPUtil web service at http://localhost:9173/metrics.

Metrics Exposed

Metrics Exposed

Metric Name

Type

Description

erddap_last_major_load_seconds

Gauge

Time the last major load took to run (in seconds)

erddap_datasets_grid

Gauge

Number of gridded ERDDAP datasets

erddap_datasets_table

Gauge

Number of tabular ERDDAP datasets

erddap_datasets_load_failed

Gauge

Number of datasets that failed to load

erddap_datasets_orphaned

Gauge

Number of orphaned datasets

erddap_users_unique

Gauge

Number of unique ERDDAP users

erddap_task_thread_runs

Counter

Number of times TaskThread has run

erddap_touch_thread_runs

Counter

Number of times TouchThread has run

erddap_os_cpu_load_ratio

Gauge

Total CPU Load [0-1]

erddap_os_process_cpu_load_ratio

Gauge

ERDDAP Process CPU Load [0-1]

erddap_os_total_memory_bytes

Gauge

Total memory

erddap_os_free_memory_bytes

Gauge

Free memory

erddap_os_total_swap_space_bytes

Gauge

Total swap space

erddap_os_free_swap_space_bytes

Gauge

Free swap space

erddap_http_requests_active

Gauge

Number of currently active requests

erddap_memory_used_bytes

Gauge

Memory actively being used by ERDDAP

erddap_memory_highwater_bytes

Gauge

High-water mark of memory used by ERDDAP

erddap_memory_max_bytes

Gauge

Maximum memory available to ERDDAP

erddap_major_loads

Counter

Total number of major loads by ERDDAP

erddap_major_load_seconds

Summary

Time the major load took

erddap_major_load_datasets_tried

Summary

Number of datasets that were attempted to load by a major load process

erddap_major_load_datasets_failed

Summary

Number of datasets that failed to load by a major load process

erddap_major_load_datasets_seen

Summary

Total number of datasets seen during the major load

erddap_http_requests

Counter

Total number of HTTP requests to ERDDAP

erddap_http_requests_median_succeeded_seconds

Summary

Median success request execution time since last major load

erddap_http_requests_median_failed_seconds

Summary

Median failed request execution time since last major load

erddap_all_threads

Gauge

Number of threads currently active

erddap_major_load_memory_in_use_bytes

Summary

Memory used during the major load

erddap_gc_calls

Counter

Number of garbage collection calls since the last major load

erddap_open_files_ratio

Summary

Number of open files

erddap_requests_by_language_LANGUAGE

Counter

Number of requests for the given language

erddap_sgtmap_topography_tiles_generated

Counter

Number of topographies generated by SgtMap

erddap_gshhs_shoreline_tiles_generated

Counter

Number of shorelines generated

erddap_gshhs_shoreline_cache_used

Gauge

Usage of the shoreline cache

erddap_gshhs_shoreline_cache_size

Gauge

Max size of the cache

erddap_sgtmap_national_boundary_tiles_generated

Counter

Number of national boundary tiles generated

erddap_sgtmap_national_boundary_shoreline_cache_used

Gauge

Usage of the national boundary cache

erddap_sgtmap_national_boundary_shoreline_cache_size

Gauge

Max size of the cache

erddap_sgtmap_state_boundary_tiles_generated

Counter

Number of state boundary tiles generated

erddap_sgtmap_state_boundary_cache_used

Gauge

Usage of the state boundary cache

erddap_sgtmap_state_boundary_cache_size

Gauge

Max size of the cache

erddap_sgtmap_river_tiles_generated

Counter

Number of river tiles generated

erddap_sgtmap_river_cache_used

Gauge

Usage of the river cache

erddap_sgtmap_river_cache_size

Gauge

Max size of the cache

erddap_string_interning_canon_map_length

Gauge

erddap_string_interning_canon_map_total

Gauge

erddap_string_interning_canon_str_holder_map_length

Gauge

erddap_string_interning_canon_str_holder_map_total

Gauge

erddap_active_threads

Gauge

Number of active threads

erddap_tomcat_requests

Counter

Number of requests grouped by request type and dataset

erddap_tomcat_request_bytes

Summary

Total bytes served by tomcat grouped by request type and dataset

erddap_tomcat_request_processing_time

Summary

Total time taken to serve the request

erddap_logman_runs

Summary

Number of times log management ran and how long the run took

erddap_logman_log_files_removed

Counter

Number of files the log management ran

Looking Forward

In the future, ERDDAPUtil aims to expand metric collection by also parsing the daily email reports and possibly the ERDDAP logs.