PageSourceSearch

https://docs.openremote.io/assets/js/a64ff315.24dbfa3b.js

js openremote.io collected 2026-10-02 04:23:51 UTC 25,583 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkopenremote_docs=self.webpackChunkopenremote_docs||[]).push([["106880"],{630152(e,t,r){r.r(t),r.d(t,{metadata:()=>s,default:()=>u,frontMatter:()=>n,contentTitle:()=>c,toc:()=>o,assets:()=>l});var s=JSON.parse('{"id":"user-guide/metrics","title":"Metrics","description":"Prometheus formatted metrics endpoints can be configured for each container (including the OpenRemote Manager), you will either need Prometheus server running to scrape these endpoints or use a cloud provider service; here\'s an example using AWS Cloudwatch:","source":"@site/versioned_docs/version-1.23.0/user-guide/metrics.md","sourceDirName":"user-guide","slug":"/user-guide/metrics","permalink":"/docs/1.23.0/user-guide/metrics","draft":false,"unlisted":false,"editUrl":"https://github.com/openremote/documentation/edit/main/docs/user-guide/metrics.md","tags":[],"version":"1.23.0","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"ML Forecasting Service","permalink":"/docs/1.23.0/user-guide/services/service-ml-forecast"},"next":{"title":"Tutorials","permalink":"/docs/1.23.0/category/tutorials"}}'),i=r(474848),d=r(28453);let n={},c="Metrics",l={},o=[{value:"OpenRemote Manager",id:"openremote-manager",level:2}];function a(e){let t={h1:"h1",h2:"h2",header:"header",mermaid:"mermaid",p:"p",...(0,d.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.header,{children:(0,i.jsx)(t.h1,{id:"metrics",children:"Metrics"})}),"\n",(0,i.jsx)(t.p,{children:"Prometheus formatted metrics endpoints can be configured for each container (including the OpenRemote Manager), you will either need Prometheus server running to scrape these endpoints or use a cloud provider service; here's an example using AWS Cloudwatch:"}),"\n",(0,i.jsx)(t.mermaid,{value:'graph LR\n    %% Styling Definitions\n    classDef greenStyle fill:#d4edda,stroke:#28a745,stroke-width:2px,color:#000;\n    classDef innerGreenStyle fill:#e8f5e9,stroke:#28a745,stroke-width:1px,color:#000;\n    classDef orangeStyle fill:#ffe0b2,stroke:#f57c00,stroke-width:2px,color:#000;\n    classDef redStyle fill:#ffcdd2,stroke:#c62828,stroke-width:2px,color:#000;\n    classDef purpleStyle fill:#e1bee7,stroke:#7b1fa2,stroke-width:2px,color:#000;\n\n    subgraph AWS [AWS]\n        direction TB\n        CW[Cloudwatch]:::orangeStyle\n        DB["<b>Dashboard</b><br/>or-default<br/>- Standard dashboard uses variables to update widgets<br/>- Instance names list generated from list of or_attributes_total metrics<br/>- Metrics are sampled over configurable period<br/>- Sampling configuration can be tricky"]:::purpleStyle\n    end\n\n    subgraph EC2 [EC2 Instance]\n        \n        subgraph CWAgent [Cloudwatch Agent]\n            direction TB\n            CWConfig["<b>Cloudwatch Config</b><br/>/opt/aws/amazon-cloudwatch-agent/var/config.json<br/>- Cloudwatch agent is able to act like Prometheus server<br/>- Regex filters and matchers to select metrics<br/>- Cloudwatch maps metric types to its own"]:::innerGreenStyle\n            PromScrape["<b>Prometheus Scrape Config</b><br/>/opt/aws/amazon-cloudwatch-agent/var/prometheus.yaml<br/>- Defines the scrape configs for each container<br/>- Be aware some functionality does not work"]:::innerGreenStyle\n        end\n\n        subgraph Docker [Docker Containers]\n            direction TB\n            Manager["<b>Manager</b><br/>http://localhost:8404/metrics<br/>- Micrometer with Prometheus Registry<br/>- Runs on own embedded web server port 8404<br/>- OR_METRICS_ENABLED: true/false"]:::greenStyle\n            HAProxy["<b>HA Proxy</b><br/>http://localhost:8404/metrics<br/>- Uses prometheus-exporter<br/>- Runs on own embedded web server port 8404<br/>- Configured via haproxy.cfg"]:::greenStyle\n            Keycloak["<b>Keycloak</b><br/>http://localhost:8080/metrics<br/>- Built in prometheus metrics support<br/>- KC_METRICS_ENABLED: true/false<br/>- Do not publicly expose"]:::orangeStyle\n            PostgreSQL["<b>PostgreSQL</b><br/>- No metrics at present could use postgresql-exporter"]:::redStyle\n        end\n    end\n\n    %% Connections\n    PromScrape --\x3e Manager\n    PromScrape --\x3e HAProxy\n    CWAgent --\x3e CW\n    CW --\x3e DB\n'}),"\n",(0,i.jsx)(t.p,{children:"Refer to the website of each container app for details of metrics exposed and their meaning; here's an overview of the OpenRemote Manager metrics."}),"\n",(0,i.jsx)(t.h2,{id:"openremote-manager",children:"OpenRemote Manager"}),"\n",(0,i.jsxs)("table",{children:[(0,i.jsx)("thead",{children:(0,i.jsxs)("tr",{children:[(0,i.jsx)("th",{width:"10%",children:"Component"}),(0,i.jsx)("th",{width:"15%",children:"Metric name"}),(0,i.jsx)("th",{width:"5%",children:"Type"}),(0,i.jsx)("th",{width:"25%",children:"Labels"}),(0,i.jsxs)("th",{children:["Description ",(0,i.jsx)("br",{})," \xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0"]})]})}),(0,i.jsxs)("tbody",{children:[(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_active"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"broker: localhost"}),(0,i.jsx)("td",{children:"If the server is active"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_address_memory_usage"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"broker: localhost"}),(0,i.jsx)("td",{children:"Memory used by all the addresses on broker for in-memory messages"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_address_memory_usage_percentage"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"broker: localhost"}),(0,i.jsx)("td",{children:"Memory used by all the addresses on broker as a percentage of the global-max-size"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_address_size"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost"]}),(0,i.jsx)("td",{children:"The number of estimated bytes being used by all the queue(s) bound to this address; used to control paging and blocking"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_authentication_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["broker: localhost",(0,i.jsx)("br",{}),"result: failure | success"]}),(0,i.jsx)("td",{children:"Number of successful authentication attempts"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_authorization_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["broker: localhost",(0,i.jsx)("br",{}),"result: failure | success"]}),(0,i.jsx)("td",{children:"Number of successful authorization attempts"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_connection_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"broker: localhost"}),(0,i.jsx)("td",{children:"Number of clients connected to this server"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_consumer_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Number of consumers consuming messages from this queue"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_delivering_durable_message_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Number of durable messages that this queue is currently delivering to its consumers"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_delivering_durable_persistent_size"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Persistent size of durable messages that this queue is currently delivering to its consumers"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_delivering_message_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Number of messages that this queue is currently delivering to its consumers"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_delivering_persistent_size"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Persistent size of messages that this queue is currently delivering to its consumers"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_disk_store_usage"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"broker: localhost"}),(0,i.jsx)("td",{children:"Fraction of total disk store used"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_durable_message_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Number of durable messages currently in this queue (includes scheduled, paged, and in-delivery messages)"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_durable_persistent_size"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Persistent size of durable messages currently in this queue (includes scheduled, paged, and in-delivery messages)"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_limit_percent"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost"]}),(0,i.jsx)("td",{children:"The % of memory limit (global or local) that is in use by this address"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_message_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Number of messages currently in this queue (includes scheduled, paged, and in-delivery messages)"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_messages_acknowledged"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Number of messages acknowledged from this queue since it was created"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_messages_added"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Number of messages added to this queue since it was created"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_messages_expired"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Number of messages expired from this queue since it was created"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_messages_killed"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Number of messages removed from this queue since it was created due to exceeding the max delivery attempts"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_number_of_pages"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost"]}),(0,i.jsx)("td",{children:"Number of pages used by this address"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_persistent_size"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Persistent size of all messages (including durable and non-durable) currently in this queue (includes scheduled, paged, and in-delivery messages)"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_replica_sync"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"broker: localhost"}),(0,i.jsx)("td",{children:"If the initial replication synchronization process is complete"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_routed_message_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost"]}),(0,i.jsx)("td",{children:"Number of messages routed to one or more bindings"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_scheduled_durable_message_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisio
1ning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Number of durable scheduled messages in this queue"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_scheduled_durable_persistent_size"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Persistent size of durable scheduled messages in this queue"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_scheduled_message_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Number of scheduled messages in this queue"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_scheduled_persistent_size"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost",(0,i.jsx)("br",{}),"queue: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request"]}),(0,i.jsx)("td",{children:"Persistent size of scheduled messages in this queue"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_session_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"broker: localhost"}),(0,i.jsx)("td",{children:"Number of sessions on this server"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_total_connection_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"broker: localhost"}),(0,i.jsx)("td",{children:"Total number of clients which have connected to this server since it was started"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_total_session_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"broker: localhost"}),(0,i.jsx)("td",{children:"Total number of sessions created on this server since it was started"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Artemis"}),(0,i.jsx)("td",{children:"artemis_unrouted_message_count"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsxs)("td",{children:["address: *.*.writeattribute.# | *.*.writeattributevalue.# | provisioning.*.request",(0,i.jsx)("br",{}),"broker: localhost"]}),(0,i.jsx)("td",{children:"Number of messages not routed to any bindings"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_active_threads"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"name: ContainerExecutor | ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"The approximate number of threads that are actively executing tasks"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_completed_tasks_total"}),(0,i.jsx)("td",{children:"counter"}),(0,i.jsx)("td",{children:"name: ContainerExecutor | ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"The approximate total number of tasks that have completed execution"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_idle_seconds"}),(0,i.jsx)("td",{children:"summary"}),(0,i.jsx)("td",{children:"name: ContainerExecutor | ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"Idle time of executor"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_idle_seconds_max"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"name: ContainerExecutor | ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"Maximum idle time of executor"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}
1),(0,i.jsx)("td",{children:"executor_pool_core_threads"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"name: ContainerExecutor | ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"The core number of threads for the pool"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_pool_max_threads"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"name: ContainerExecutor | ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"The maximum allowed number of threads in the pool"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_pool_size_threads"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"name: ContainerExecutor | ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"The current number of threads in the pool"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_queue_remaining_tasks"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"name: ContainerExecutor | ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"The number of additional elements that this queue can ideally accept without blocking"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_queued_tasks"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"name: ContainerExecutor | ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"The approximate number of tasks that are queued for execution"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_scheduled_once_total"}),(0,i.jsx)("td",{children:"counter"}),(0,i.jsx)("td",{children:"name: ContainerExecutor"}),(0,i.jsx)("td",{children:"Total tasks scheduled once"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_scheduled_repetitively_total"}),(0,i.jsx)("td",{children:"counter"}),(0,i.jsx)("td",{children:"name: ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"Total tasks scheduled repetitively"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_seconds"}),(0,i.jsx)("td",{children:"summary"}),(0,i.jsx)("td",{children:"name: ContainerExecutor | ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"Measures executor task execution time"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Executors"}),(0,i.jsx)("td",{children:"executor_seconds_max"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"name: ContainerExecutor | ContainerScheduledExecutor"}),(0,i.jsx)("td",{children:"Maximum execution time of executor tasks"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Events"}),(0,i.jsx)("td",{children:"or_attributes_total"}),(0,i.jsx)("td",{children:"counter"}),(0,i.jsx)("td",{children:"source: AgentService | AttributeLinkingService | EnergyOptimisationService | GatewayService | RulesEngine | none | ..."}),(0,i.jsx)("td",{children:"Total attributes processed by source"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Events"}),(0,i.jsx)("td",{children:"or_attributes_seconds"}),(0,i.jsx)("td",{children:"summary"}),(0,i.jsx)("td",{children:"(none)"}),(0,i.jsx)("td",{children:"Total time spent processing attribute events"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Events"}),(0,i.jsx)("td",{children:"or_attributes_seconds_max"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"(none)"}),(0,i.jsx)("td",{children:"Maximum time spent processing an attribute event"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Events"}),(0,i.jsx)("td",{children:"or_provisioning_seconds"}),(0,i.jsx)("td",{children:"summary"}),(0,i.jsx)("td",{children:"(none)"}),(0,i.jsx)("td",{children:"Total time spent processing provisioning requests"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Events"}),(0,i.jsx)("td",{children:"or_provisioning_seconds_max"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"(none)"}),(0,i.jsx)("td",{children:"Maximum time spent processing provisioning requests"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Rules"}),(0,i.jsx)("td",{children:"or_rules_seconds"}),(0,i.jsx)("td",{children:"summary"}),(0,i.jsx)("td",{children:"(none)"}),(0,i.jsx)("td",{children:"Total time spent processing rules"})]}),(0,i.jsxs)("tr",{children:[(0,i.jsx)("td",{children:"Rules"}),(0,i.jsx)("td",{children:"or_rules_seconds_max"}),(0,i.jsx)("td",{children:"gauge"}),(0,i.jsx)("td",{children:"(none)"}),(0,i.jsx)("td",{children:"Maximum time spent processing rules"})]})]})]})]})}function u(e={}){let{wrapper:t}={...(0,d.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.