Skip to content

Metrics


For an overview of the general health of your DPF server, the default Node.js metrics are available. These metrics are exposed at the /metrics endpoint of each service but seal-dpf-management-api and seal-dpf-jobclient-api. They can be scraped by Prometheus. You can visualize them by using tools like Grafana to create dashboards that provide a real-time view of the system's performance.


Default Metrics

[
  {
    "name": "process_cpu_user_seconds_total",
    "help": "Total user CPU time spent in seconds.",
    "type": "counter"
  },
  {
    "name": "process_cpu_system_seconds_total",
    "help": "Total system CPU time spent in seconds.",
    "type": "counter"
  },
  {
    "name": "process_cpu_seconds_total",
    "help": "Total user and system CPU time spent in seconds.",
    "type": "counter"
  },
  {
    "name": "process_start_time_seconds",
    "help": "Start time of the process since unix epoch in seconds.",
    "type": "gauge"
  },
  {
    "name": "process_resident_memory_bytes",
    "help": "Resident memory size in bytes.",
    "type": "gauge"
  },
  {
    "name": "process_virtual_memory_bytes",
    "help": "Virtual memory size in bytes.",
    "type": "gauge"
  },
  {
    "name": "process_heap_bytes",
    "help": "Process heap size in bytes.",
    "type": "gauge"
  },
  {
    "name": "process_open_fds",
    "help": "Number of open file descriptors.",
    "type": "gauge"
  },
  {
    "name": "process_max_fds",
    "help": "Maximum number of open file descriptors.",
    "type": "gauge"
  },
  {
    "name": "nodejs_eventloop_lag_seconds",
    "help": "Lag of event loop in seconds.",
    "type": "gauge"
  },
  {
    "name": "nodejs_eventloop_lag_min_seconds",
    "help": "The minimum recorded event loop delay.",
    "type": "gauge"
  },
  {
    "name": "nodejs_eventloop_lag_max_seconds",
    "help": "The maximum recorded event loop delay.",
    "type": "gauge"
  },
  {
    "name": "nodejs_eventloop_lag_mean_seconds",
    "help": "The mean of the recorded event loop delays.",
    "type": "gauge"
  },
  {
    "name": "nodejs_eventloop_lag_stddev_seconds",
    "help": "The standard deviation of the recorded event loop delays.",
    "type": "gauge"
  },
  {
    "name": "nodejs_eventloop_lag_p50_seconds",
    "help": "The 50th percentile of the recorded event loop delays.",
    "type": "gauge"
  },
  {
    "name": "nodejs_eventloop_lag_p90_seconds",
    "help": "The 90th percentile of the recorded event loop delays.",
    "type": "gauge"
  },
  {
    "name": "nodejs_eventloop_lag_p99_seconds",
    "help": "The 99th percentile of the recorded event loop delays.",
    "type": "gauge"
  },
  {
    "name": "nodejs_active_resources",
    "help": "Number of active resources that are currently keeping the event loop alive, grouped by async resource type.",
    "type": "gauge",
    "labels": [
      "type"
    ]
  },
  {
    "name": "nodejs_active_resources_total",
    "help": "Total number of active resources.",
    "type": "gauge"
  },
  {
    "name": "nodejs_active_handles",
    "help": "Number of active libuv handles grouped by handle type. Every handle type is C++ class name.",
    "type": "gauge",
    "labels": [
      "type"
    ]
  },
  {
    "name": "nodejs_active_handles_total",
    "help": "Total number of active handles.",
    "type": "gauge"
  },
  {
    "name": "nodejs_active_requests",
    "help": "Number of active libuv requests grouped by request type. Every request type is C++ class name.",
    "type": "gauge",
    "labels": [
      "type"
    ]
  },
  {
    "name": "nodejs_active_requests_total",
    "help": "Total number of active requests.",
    "type": "gauge"
  },
  {
    "name": "nodejs_heap_size_total_bytes",
    "help": "Process heap size from Node.js in bytes.",
    "type": "gauge"
  },
  {
    "name": "nodejs_heap_size_used_bytes",
    "help": "Process heap size used from Node.js in bytes.",
    "type": "gauge"
  },
  {
    "name": "nodejs_external_memory_bytes",
    "help": "Nodejs external memory size in bytes.",
    "type": "gauge"
  },
  {
    "name": "nodejs_heap_space_size_total_bytes",
    "help": "Process heap space size total from Node.js in bytes.",
    "type": "gauge",
    "labels": [
      "space"
    ]
  },
  {
    "name": "nodejs_heap_space_size_used_bytes",
    "help": "Process heap space size used from Node.js in bytes.",
    "type": "gauge",
    "labels": [
      "space"
    ]
  },
  {
    "name": "nodejs_heap_space_size_available_bytes",
    "help": "Process heap space size available from Node.js in bytes.",
    "type": "gauge",
    "labels": [
      "space"
    ]
  },
  {
    "name": "nodejs_version_info",
    "help": "Node.js version info.",
    "type": "gauge",
    "labels": [
      "version",
      "major",
      "minor",
      "patch",
      "release",
      "lts"
    ]
  },
  {
    "name": "nodejs_gc_duration_seconds",
    "help": "Garbage collection duration by kind, one of major, minor, incremental or weakcb.",
    "type": "histogram",
    "labels": [
      "kind"
    ]
  },
  {
    "name": "http_request_duration_seconds",
    "help": "duration histogram of http responses labeled with: status_code, method, path",
    "type": "histogram",
    "labels": [
      "status_code",
      "method",
      "path"
    ]
  },
  {
    "name": "up",
    "help": "1 = up, 0 = not up",
    "type": "gauge"
  }
]

Back to top