HOME | RAW QUEUES | STATS & Q Management | OTHER STUFF
Current metrics in JSON format:{
"deliver_message_latency_rollup": {
"help": "how long a deliver_message call takes for a given protocol",
"type": "histogram",
"value": {
"service": {
"lua": {
"avg": 0.09268276726712325,
"bucket": [
[
0.005,
1.0
],
[
0.01,
154.0
],
[
0.025,
285.0
],
[
0.05,
291.0
],
[
0.1,
459.0
],
[
0.25,
477.0
],
[
0.5,
583.0
],
[
1.0,
583.0
],
[
2.5,
584.0
],
[
5.0,
584.0
],
[
10.0,
584.0
]
],
"count": 584,
"sum": 54.12673608399998
}
}
}
},
"disk_free_bytes": {
"help": "number of available bytes in a monitored location",
"type": "gauge",
"value": {
"name": {
"data spool": 75509514240,
"log dir /var/log/kumomta": 75509514240,
"meta spool": 75509514240
}
}
},
"disk_free_inodes": {
"help": "number of available inodes in a monitored location",
"type": "gauge",
"value": {
"name": {
"data spool": 11998172,
"log dir /var/log/kumomta": 11998172,
"meta spool": 11998172
}
}
},
"disk_free_inodes_percent": {
"help": "percentage of available inodes in a monitored location",
"type": "gauge",
"value": {
"name": {
"data spool": 92,
"log dir /var/log/kumomta": 92,
"meta spool": 92
}
}
},
"disk_free_percent": {
"help": "percentage of available bytes in a monitored location",
"type": "gauge",
"value": {
"name": {
"data spool": 73,
"log dir /var/log/kumomta": 73,
"meta spool": 73
}
}
},
"dns_mx_resolve_cache_hit": {
"help": "total number of MailExchanger::resolve calls satisfied by level 1 cache",
"type": "counter",
"value": 149398
},
"dns_mx_resolve_cache_miss": {
"help": "total number of MailExchanger::resolve calls that resulted in an MX DNS request to the next level of cache",
"type": "counter",
"value": 11800
},
"dns_mx_resolve_in_progress": {
"help": "number of MailExchanger::resolve calls currently in progress",
"type": "gauge",
"value": 0
},
"dns_mx_resolve_status_fail": {
"help": "total number of failed MailExchanger::resolve calls",
"type": "counter",
"value": 11507
},
"dns_mx_resolve_status_ok": {
"help": "total number of successful MailExchanger::resolve calls",
"type": "counter",
"value": 149691
},
"log_submit_latency": {
"help": "latency of log event submission operations",
"type": "histogram",
"value": {
"logger": {
"dir-/var/log/kumomta": {
"avg": 0.000006709528056704075,
"bucket": [
[
0.005,
3386.0
],
[
0.01,
3386.0
],
[
0.025,
3386.0
],
[
0.05,
3386.0
],
[
0.1,
3386.0
],
[
0.25,
3386.0
],
[
0.5,
3386.0
],
[
1.0,
3386.0
],
[
2.5,
3386.0
],
[
5.0,
3386.0
],
[
10.0,
3386.0
]
],
"count": 3386,
"sum": 0.022718462
},
"hook-amqp": {
"avg": 0.000003085422327229779,
"bucket": [
[
0.005,
3386.0
],
[
0.01,
3386.0
],
[
0.025,
3386.0
],
[
0.05,
3386.0
],
[
0.1,
3386.0
],
[
0.25,
3386.0
],
[
0.5,
3386.0
],
[
1.0,
3386.0
],
[
2.5,
3386.0
],
[
5.0,
3386.0
],
[
10.0,
3386.0
]
],
"count": 3386,
"sum": 0.010447240000000033
},
"hook-http://127.0.0.1:8008.tsa.kumomta": {
"avg": 0.0000016577060537390742,
"bucket": [
[
0.005,
3089.0
],
[
0.01,
3089.0
],
[
0.025,
3089.0
],
[
0.05,
3089.0
],
[
0.1,
3089.0
],
[
0.25,
3089.0
],
[
0.5,
3089.0
],
[
1.0,
3089.0
],
[
2.5,
3089.0
],
[
5.0,
3089.0
],
[
10.0,
3089.0
]
],
"count": 3089,
"sum": 0.0051206540000000005
},
"hook-ndr_generator": {
"avg": 0.000009821778795038385,
"bucket": [
[
0.005,
3385.0
],
[
0.01,
3386.0
],
[
0.025,
3386.0
],
[
0.05,
3386.0
],
[
0.1,
3386.0
],
[
0.25,
3386.0
],
[
0.5,
3386.0
],
[
1.0,
3386.0
],
[
2.5,
3386.0
],
[
5.0,
3386.0
],
[
10.0,
3386.0
]
],
"count": 3386,
"sum": 0.03325654299999997
},
"hook-postmastery-webhook": {
"avg": 0.0000013105437572928794,
"bucket": [
[
0.005,
2571.0
],
[
0.01,
2571.0
],
[
0.025,
2571.0
],
[
0.05,
2571.0
],
[
0.1,
2571.0
],
[
0.25,
2571.0
],
[
0.5,
2571.0
],
[
1.0,
2571.0
],
[
2.5,
2571.0
],
[
5.0,
2571.0
],
[
10.0,
2571.0
]
],
"count": 2571,
"sum": 0.003369407999999993
},
"hook-webhook_lambda": {
"avg": 0.000006547823685764904,
"bucket": [
[
0.005,
3386.0
],
[
0.01,
3386.0
],
[
0.025,
3386.0
],
[
0.05,
3386.0
],
[
0.1,
3386.0
],
[
0.25,
3386.0
],
[
0.5,
3386.0
],
[
1.0,
3386.0
],
[
2.5,
3386.0
],
[
5.0,
3386.0
],
[
10.0,
3386.0
]
],
"count": 3386,
"sum": 0.022170930999999967
},
"hook-webhook_tatami": {
"avg": 0.000009929379208505601,
"bucket": [
[
0.005,
3386.0
],
[
0.01,
3386.0
],
[
0.025,
3386.0
],
[
0.05,
3386.0
],
[
0.1,
3386.0
],
[
0.25,
3386.0
],
[
0.5,
3386.0
],
[
1.0,
3386.0
],
[
2.5,
3386.0
],
[
5.0,
3386.0
],
[
10.0,
3386.0
]
],
"count": 3386,
"sum": 0.033620877999999965
}
}
}
},
"lruttl_cache_size": {
"help": "number of items contained in an lruttl cache",
"type": "gauge",
"value": {
"cache_name": {
"dkim_key_cache": 0,
"dkim_signer_cache": 0,
"dkim_signing_data": 0,
"dns_resolver_ip": 0,
"dns_resolver_ipv4": 0,
"dns_resolver_ipv6": 0,
"dns_resolver_mx": 11,
"egress_source_pools": 1,
"egress_source_sources": 1,
"http_server_auth": 0,
"listener_domains_data": 0,
"mod_filesystem_glob_cache": 0,
"mta_sts_policy": 0,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 0,
"rfc5321_rustls_config": 0,
"shaping_data": 1,
"smtp_dispatcher_broken_tls": 0,
"smtp_dispatcher_client_certificate": 0,
"smtp_server_tls_config": 0,
"sources_data": 0
}
}
},
"lruttl_error_count": {
"help": "how many times a lruttl cache population resulted in an error",
"type": "counter",
"value": {
"cache_name": {
"dkim_key_cache": 0,
"dkim_signer_cache": 0,
"dkim_signing_data": 0,
"dns_resolver_ip": 0,
"dns_resolver_ipv4": 0,
"dns_resolver_ipv6": 0,
"dns_resolver_mx": 0,
"egress_source_pools": 0,
"egress_source_sources": 0,
"http_server_auth": 0,
"listener_domains_data": 0,
"mod_filesystem_glob_cache": 0,
"mta_sts_policy": 0,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 0,
"rfc5321_rustls_config": 0,
"shaping_data": 0,
"smtp_dispatcher_broken_tls": 0,
"smtp_dispatcher_client_certificate": 0,
"smtp_server_tls_config": 0,
"sources_data": 0
}
}
},
"lruttl_evict_count": {
"help": "how many times a lruttl cache evicted an item due to capacity constraints",
"type": "counter",
"value": {
"cache_name": {
"dkim_key_cache": 0,
"dkim_signer_cache": 0,
"dkim_signing_data": 0,
"dns_resolver_ip": 0,
"dns_resolver_ipv4": 0,
"dns_resolver_ipv6": 0,
"dns_resolver_mx": 0,
"egress_source_pools": 0,
"egress_source_sources": 0,
"http_server_auth": 0,
"listener_domains_data": 0,
"mod_filesystem_glob_cache": 0,
"mta_sts_policy": 0,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 0,
"rfc5321_rustls_config": 0,
"shaping_data": 0,
"smtp_dispatcher_broken_tls": 0,
"smtp_dispatcher_client_certificate": 0,
"smtp_server_tls_config": 0,
"sources_data": 0
}
}
},
"lruttl_expire_count": {
"help": "how many times a lruttl cache removed an item due to ttl expiration",
"type": "counter",
"value": {
"cache_name": {
"dkim_key_cache": 0,
"dkim_signer_cache": 0,
"dkim_signing_data": 3,
"dns_resolver_ip": 0,
"dns_resolver_ipv4": 0,
"dns_resolver_ipv6": 0,
"dns_resolver_mx": 11789,
"egress_source_pools": 5206,
"egress_source_sources": 5206,
"http_server_auth": 0,
"listener_domains_data": 3,
"mod_filesystem_glob_cache": 0,
"mta_sts_policy": 0,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 3,
"rfc5321_rustls_config": 0,
"shaping_data": 5345,
"smtp_dispatcher_broken_tls": 0,
"smtp_dispatcher_client_certificate": 0,
"smtp_server_tls_config": 69,
"sources_data": 0
}
}
},
"lruttl_hit_count": {
"help": "how many times a lruttl cache lookup was a hit for a given cache",
"type": "counter",
"value": {
"cache_name": {
"dkim_key_cache": 0,
"dkim_signer_cache": 0,
"dkim_signing_data": 0,
"dns_resolver_ip": 0,
"dns_resolver_ipv4": 0,
"dns_resolver_ipv6": 0,
"dns_resolver_mx": 126584,
"egress_source_pools": 1940,
"egress_source_sources": 2132,
"http_server_auth": 0,
"listener_domains_data": 2,
"mod_filesystem_glob_cache": 0,
"mta_sts_policy": 0,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 0,
"rfc5321_rustls_config": 0,
"shaping_data": 5536,
"smtp_dispatcher_broken_tls": 0,
"smtp_dispatcher_client_certificate": 0,
"smtp_server_tls_config": 5,
"sources_data": 0
}
}
},
"lruttl_insert_count": {
"help": "how many times a lruttl cache was populated via unconditional insert",
"type": "counter",
"value": {
"cache_name": {
"dkim_key_cache": 0,
"dkim_signer_cache": 0,
"dkim_signing_data": 0,
"dns_resolver_ip": 0,
"dns_resolver_ipv4": 0,
"dns_resolver_ipv6": 0,
"dns_resolver_mx": 0,
"egress_source_pools": 0,
"egress_source_sources": 0,
"http_server_auth": 0,
"listener_domains_data": 0,
"mod_filesystem_glob_cache": 0,
"mta_sts_policy": 0,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 0,
"rfc5321_rustls_config": 0,
"shaping_data": 0,
"smtp_dispatcher_broken_tls": 0,
"smtp_dispatcher_client_certificate": 0,
"smtp_server_tls_config": 0,
"sources_data": 0
}
}
},
"lruttl_lookup_count": {
"help": "how many times a lruttl cache lookup was initiated for a given cache",
"type": "counter",
"value": {
"cache_name": {
"dkim_key_cache": 0,
"dkim_signer_cache": 0,
"dkim_signing_data": 3,
"dns_resolver_ip": 0,
"dns_resolver_ipv4": 0,
"dns_resolver_ipv6": 0,
"dns_resolver_mx": 161198,
"egress_source_pools": 7147,
"egress_source_sources": 7339,
"http_server_auth": 0,
"listener_domains_data": 5,
"mod_filesystem_glob_cache": 0,
"mta_sts_policy": 0,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 3,
"rfc5321_rustls_config": 0,
"shaping_data": 10882,
"smtp_dispatcher_broken_tls": 0,
"smtp_dispatcher_client_certificate": 0,
"smtp_server_tls_config": 74,
"sources_data": 0
}
}
},
"lruttl_miss_count": {
"help": "how many times a lruttl cache lookup was a miss for a given cache",
"type": "counter",
"value": {
"cache_name": {
"dkim_key_cache": 0,
"dkim_signer_cache": 0,
"dkim_signing_data": 3,
"dns_resolver_ip": 0,
"dns_resolver_ipv4": 0,
"dns_resolver_ipv6": 0,
"dns_resolver_mx": 34614,
"egress_source_pools": 5207,
"egress_source_sources": 5207,
"http_server_auth": 0,
"listener_domains_data": 3,
"mod_filesystem_glob_cache": 0,
"mta_sts_policy": 0,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 3,
"rfc5321_rustls_config": 0,
"shaping_data": 5346,
"smtp_dispatcher_broken_tls": 0,
"smtp_dispatcher_client_certificate": 0,
"smtp_server_tls_config": 69,
"sources_data": 0
}
}
},
"lruttl_populated_count": {
"help": "how many times a lruttl cache lookup resulted in performing the work to populate the entry",
"type": "counter",
"value": {
"cache_name": {
"dkim_key_cache": 0,
"dkim_signer_cache": 0,
"dkim_signing_data": 3,
"dns_resolver_ip": 0,
"dns_resolver_ipv4": 0,
"dns_resolver_ipv6": 0,
"dns_resolver_mx": 11800,
"egress_source_pools": 5207,
"egress_source_sources": 5207,
"http_server_auth": 0,
"listener_domains_data": 3,
"mod_filesystem_glob_cache": 0,
"mta_sts_policy": 0,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 3,
"rfc5321_rustls_config": 0,
"shaping_data": 5346,
"smtp_dispatcher_broken_tls": 0,
"smtp_dispatcher_client_certificate": 0,
"smtp_server_tls_config": 69,
"sources_data": 0
}
}
},
"lruttl_stale_count": {
"help": "how many times a lruttl cache population was satisfied by a stale value",
"type": "counter",
"value": {
"cache_name": {
"dkim_key_cache": 0,
"dkim_signer_cache": 0,
"dkim_signing_data": 0,
"dns_resolver_ip": 0,
"dns_resolver_ipv4": 0,
"dns_resolver_ipv6": 0,
"dns_resolver_mx": 0,
"egress_source_pools": 0,
"egress_source_sources": 0,
"http_server_auth": 0,
"listener_domains_data": 0,
"mod_filesystem_glob_cache": 0,
"mta_sts_policy": 0,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 0,
"rfc5321_rustls_config": 0,
"shaping_data": 0,
"smtp_dispatcher_broken_tls": 0,
"smtp_dispatcher_client_certificate": 0,
"smtp_server_tls_config": 0,
"sources_data": 0
}
}
},
"lruttl_waiting_populate": {
"help": "how many tasks are currently waiting for a cache entry to populate",
"type": "gauge",
"value": {
"cache_name": {
"dkim_key_cache": 0,
"dkim_signer_cache": 0,
"dkim_signing_data": 0,
"dns_resolver_ip": 0,
"dns_resolver_ipv4": 0,
"dns_resolver_ipv6": 0,
"dns_resolver_mx": 0,
"egress_source_pools": 0,
"egress_source_sources": 0,
"http_server_auth": 0,
"listener_domains_data": 0,
"mod_filesystem_glob_cache": 0,
"mta_sts_policy": 0,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 0,
"rfc5321_rustls_config": 0,
"shaping_data": 0,
"smtp_dispatcher_broken_tls": 0,
"smtp_dispatcher_client_certificate": 0,
"smtp_server_tls_config": 0,
"sources_data": 0
}
}
},
"lua_count": {
"help": "the number of lua contexts currently alive",
"type": "gauge",
"value": 4
},
"lua_event_latency": {
"help": "how long a given lua event callback took",
"type": "histogram",
"value": {
"event": {
"context-creation": {
"avg": 0.0032443943957263716,
"bucket": [
[
0.005,
7034.0
],
[
0.01,
7173.0
],
[
0.025,
7201.0
],
[
0.05,
7203.0
],
[
0.1,
7205.0
],
[
0.25,
7207.0
],
[
0.5,
7207.0
],
[
1.0,
7207.0
],
[
2.5,
7207.0
],
[
5.0,
7207.0
],
[
10.0,
7207.0
]
],
"count": 7207,
"sum": 23.38235040999996
},
"get_egress_path_config": {
"avg": 0.022718103328125,
"bucket": [
[
0.005,
34.0
],
[
0.01,
34.0
],
[
0.025,
111.0
],
[
0.05,
183.0
],
[
0.1,
192.0
],
[
0.25,
192.0
],
[
0.5,
192.0
],
[
1.0,
192.0
],
[
2.5,
192.0
],
[
5.0,
192.0
],
[
10.0,
192.0
]
],
"count": 192,
"sum": 4.361875839
},
"get_listener_domain": {
"avg": 0.0005512382000000001,
"bucket": [
[
0.005,
5.0
],
[
0.01,
5.0
],
[
0.025,
5.0
],
[
0.05,
5.0
],
[
0.1,
5.0
],
[
0.25,
5.0
],
[
0.5,
5.0
],
[
1.0,
5.0
],
[
2.5,
5.0
],
[
5.0,
5.0
],
[
10.0,
5.0
]
],
"count": 5,
"sum": 0.0027561910000000003
},
"get_queue_config": {
"avg": 0.000004546121802325575,
"bucket": [
[
0.005,
30960.0
],
[
0.01,
30960.0
],
[
0.025,
30960.0
],
[
0.05,
30960.0
],
[
0.1,
30960.0
],
[
0.25,
30960.0
],
[
0.5,
30960.0
],
[
1.0,
30960.0
],
[
2.5,
30960.0
],
[
5.0,
30960.0
],
[
10.0,
30960.0
]
],
"count": 30960,
"sum": 0.14074793099999983
},
"init": {
"avg": 1.228015176,
"bucket": [
[
0.005,
0.0
],
[
0.01,
0.0
],
[
0.025,
0.0
],
[
0.05,
0.0
],
[
0.1,
0.0
],
[
0.25,
0.0
],
[
0.5,
0.0
],
[
1.0,
0.0
],
[
2.5,
1.0
],
[
5.0,
1.0
],
[
10.0,
1.0
]
],
"count": 1,
"sum": 1.228015176
},
"kumo.tsa.config.monitor": {
"avg": 0.0,
"bucket": [
[
0.005,
0.0
],
[
0.01,
0.0
],
[
0.025,
0.0
],
[
0.05,
0.0
],
[
0.1,
0.0
],
[
0.25,
0.0
],
[
0.5,
0.0
],
[
1.0,
0.0
],
[
2.5,
0.0
],
[
5.0,
0.0
],
[
10.0,
0.0
]
],
"count": 0,
"sum": 0.0
},
"kumo.tsa.suspension.subscriber": {
"avg": 0.0,
"bucket": [
[
0.005,
0.0
],
[
0.01,
0.0
],
[
0.025,
0.0
],
[
0.05,
0.0
],
[
0.1,
0.0
],
[
0.25,
0.0
],
[
0.5,
0.0
],
[
1.0,
0.0
],
[
2.5,
0.0
],
[
5.0,
0.0
],
[
10.0,
0.0
]
],
"count": 0,
"sum": 0.0
},
"log_disposition_ndr_generator": {
"avg": 0.00029929233333333337,
"bucket": [
[
0.005,
3.0
],
[
0.01,
3.0
],
[
0.025,
3.0
],
[
0.05,
3.0
],
[
0.1,
3.0
],
[
0.25,
3.0
],
[
0.5,
3.0
],
[
1.0,
3.0
],
[
2.5,
3.0
],
[
5.0,
3.0
],
[
10.0,
3.0
]
],
"count": 3,
"sum": 0.000897877
},
"make.webhook_lambda.log_hook": {
"avg": 0.0049279589051724115,
"bucket": [
[
0.005,
88.0
],
[
0.01,
114.0
],
[
0.025,
116.0
],
[
0.05,
116.0
],
[
0.1,
116.0
],
[
0.25,
116.0
],
[
0.5,
116.0
],
[
1.0,
116.0
],
[
2.5,
116.0
],
[
5.0,
116.0
],
[
10.0,
116.0
]
],
"count": 116,
"sum": 0.5716432329999998
},
"make.webhook_tatami.log_hook": {
"avg": 0.005143286456896552,
"bucket": [
[
0.005,
88.0
],
[
0.01,
113.0
],
[
0.025,
116.0
],
[
0.05,
116.0
],
[
0.1,
116.0
],
[
0.25,
116.0
],
[
0.5,
116.0
],
[
1.0,
116.0
],
[
2.5,
116.0
],
[
5.0,
116.0
],
[
10.0,
116.0
]
],
"count": 116,
"sum": 0.596621229
},
"my.queue.task": {
"avg": 0.0,
"bucket": [
[
0.005,
0.0
],
[
0.01,
0.0
],
[
0.025,
0.0
],
[
0.05,
0.0
],
[
0.1,
0.0
],
[
0.25,
0.0
],
[
0.5,
0.0
],
[
1.0,
0.0
],
[
2.5,
0.0
],
[
5.0,
0.0
],
[
10.0,
0.0
]
],
"count": 0,
"sum": 0.0
},
"pre_init": {
"avg": 0.004661281333333333,
"bucket": [
[
0.005,
4.0
],
[
0.01,
5.0
],
[
0.025,
6.0
],
[
0.05,
6.0
],
[
0.1,
6.0
],
[
0.25,
6.0
],
[
0.5,
6.0
],
[
1.0,
6.0
],
[
2.5,
6.0
],
[
5.0,
6.0
],
[
10.0,
6.0
]
],
"count": 6,
"sum": 0.027967687999999997
},
"should_enqueue_log_record": {
"avg": 0.000029426907407407368,
"bucket": [
[
0.005,
2970.0
],
[
0.01,
2970.0
],
[
0.025,
2970.0
],
[
0.05,
2970.0
],
[
0.1,
2970.0
],
[
0.25,
2970.0
],
[
0.5,
2970.0
],
[
1.0,
2970.0
],
[
2.5,
2970.0
],
[
5.0,
2970.0
],
[
10.0,
2970.0
]
],
"count": 2970,
"sum": 0.08739791499999988
},
"smtp_server_data": {
"avg": 0.00022990100000000002,
"bucket": [
[
0.005,
3.0
],
[
0.01,
3.0
],
[
0.025,
3.0
],
[
0.05,
3.0
],
[
0.1,
3.0
],
[
0.25,
3.0
],
[
0.5,
3.0
],
[
1.0,
3.0
],
[
2.5,
3.0
],
[
5.0,
3.0
],
[
10.0,
3.0
]
],
"count": 3,
"sum": 0.0006897030000000001
},
"smtp_server_ehlo": {
"avg": 0.00007932620394736843,
"bucket": [
[
0.005,
152.0
],
[
0.01,
152.0
],
[
0.025,
152.0
],
[
0.05,
152.0
],
[
0.1,
152.0
],
[
0.25,
152.0
],
[
0.5,
152.0
],
[
1.0,
152.0
],
[
2.5,
152.0
],
[
5.0,
152.0
],
[
10.0,
152.0
]
],
"count": 152,
"sum": 0.012057583
},
"smtp_server_get_dynamic_parameters": {
"avg": 0.00003337801676646712,
"bucket": [
[
0.005,
835.0
],
[
0.01,
835.0
],
[
0.025,
835.0
],
[
0.05,
835.0
],
[
0.1,
835.0
],
[
0.25,
835.0
],
[
0.5,
835.0
],
[
1.0,
835.0
],
[
2.5,
835.0
],
[
5.0,
835.0
],
[
10.0,
835.0
]
],
"count": 835,
"sum": 0.027870644000000045
},
"smtp_server_message_received": {
"avg": 0.06303854033333332,
"bucket": [
[
0.005,
0.0
],
[
0.01,
0.0
],
[
0.025,
0.0
],
[
0.05,
0.0
],
[
0.1,
3.0
],
[
0.25,
3.0
],
[
0.5,
3.0
],
[
1.0,
3.0
],
[
2.5,
3.0
],
[
5.0,
3.0
],
[
10.0,
3.0
]
],
"count": 3,
"sum": 0.18911562099999998
},
"throttle_insert_ready_queue": {
"avg": 0.00014856795138592737,
"bucket": [
[
0.005,
2345.0
],
[
0.01,
2345.0
],
[
0.025,
2345.0
],
[
0.05,
2345.0
],
[
0.1,
2345.0
],
[
0.25,
2345.0
],
[
0.5,
2345.0
],
[
1.0,
2345.0
],
[
2.5,
2345.0
],
[
5.0,
2345.0
],
[
10.0,
2345.0
]
],
"count": 2345,
"sum": 0.34839184599999967
}
}
}
},
"lua_event_started": {
"help": "Incremented each time we start to call a lua event callback. Use lua_event_latency_count to track completed events",
"type": "counter",
"value": {
"event": {
"context-creation": 7207,
"get_egress_path_config": 192,
"get_listener_domain": 5,
"get_queue_config": 30960,
"init": 1,
"kumo.tsa.config.monitor": 1,
"kumo.tsa.suspension.subscriber": 1,
"log_disposition_ndr_generator": 3,
"make.webhook_lambda.log_hook": 116,
"make.webhook_tatami.log_hook": 116,
"my.queue.task": 1,
"pre_init": 6,
"should_enqueue_log_record": 2970,
"smtp_server_data": 3,
"smtp_server_ehlo": 152,
"smtp_server_get_dynamic_parameters": 835,
"smtp_server_message_received": 3,
"throttle_insert_ready_queue": 2345
}
}
},
"lua_load_count": {
"help": "how many times the policy lua script has been loaded into a new context",
"type": "counter",
"value": 7207
},
"lua_spare_count": {
"help": "the number of lua contexts available for reuse in the pool",
"type": "gauge",
"value": 1
},
"memoize_cache_hit_count": {
"help": "how many times a memoize cache lookup was a hit for a given cache",
"type": "counter",
"value": {
"cache_name": {
"dkim_signing_data": 0,
"listener_domains_data": 2,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 0,
"shaping_data": 5536,
"sources_data": 0
}
}
},
"memoize_cache_lookup_count": {
"help": "how many times a memoize cache lookup was initiated for a given cache",
"type": "counter",
"value": {
"cache_name": {
"dkim_signing_data": 3,
"listener_domains_data": 5,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 3,
"shaping_data": 10882,
"sources_data": 0
}
}
},
"memoize_cache_miss_count": {
"help": "how many times a memoize cache lookup was a miss for a given cache",
"type": "counter",
"value": {
"cache_name": {
"dkim_signing_data": 3,
"listener_domains_data": 3,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 3,
"shaping_data": 5346,
"sources_data": 0
}
}
},
"memoize_cache_populated_count": {
"help": "how many times a memoize cache lookup resulted in performing the work to populate the entry",
"type": "counter",
"value": {
"cache_name": {
"dkim_signing_data": 3,
"listener_domains_data": 3,
"queue.lua_resolve_provider": 0,
"queue_helper_data": 3,
"shaping_data": 5346,
"sources_data": 0
}
}
},
"memory_limit": {
"help": "soft memory limit measured in bytes",
"type": "gauge",
"value": 2984478720
},
"memory_low_thresh": {
"help": "low memory threshold measured in bytes",
"type": "gauge",
"value": 2387582976
},
"memory_usage": {
"help": "number of bytes of used memory (Resident Set Size)",
"type": "gauge",
"value": 149139456
},
"memory_usage_rust": {
"help": "number of bytes of used memory (allocated by Rust)",
"type": "gauge",
"value": 50134394
},
"message_count": {
"help": "total number of Message objects",
"type": "gauge",
"value": 84
},
"message_data_load_latency": {
"help": "how long it takes to load message data from spool",
"type": "histogram",
"value": {
"avg": 0.00006833079362186791,
"bucket": [
[
0.005,
2194.0
],
[
0.01,
2194.0
],
[
0.025,
2195.0
],
[
0.05,
2195.0
],
[
0.1,
2195.0
],
[
0.25,
2195.0
],
[
0.5,
2195.0
],
[
1.0,
2195.0
],
[
2.5,
2195.0
],
[
5.0,
2195.0
],
[
10.0,
2195.0
]
],
"count": 2195,
"sum": 0.14998609200000007
}
},
"message_data_resident_count": {
"help": "total number of Message objects with body data loaded",
"type": "gauge",
"value": 10
},
"message_meta_load_latency": {
"help": "how long it takes to load message metadata from spool",
"type": "histogram",
"value": {
"avg": 0.00013251362895098505,
"bucket": [
[
0.005,
2183.0
],
[
0.01,
2183.0
],
[
0.025,
2183.0
],
[
0.05,
2183.0
],
[
0.1,
2183.0
],
[
0.25,
2183.0
],
[
0.5,
2183.0
],
[
1.0,
2183.0
],
[
2.5,
2183.0
],
[
5.0,
2183.0
],
[
10.0,
2183.0
]
],
"count": 2183,
"sum": 0.2892772520000004
}
},
"message_meta_resident_count": {
"help": "total number of Message objects with metadata loaded",
"type": "gauge",
"value": 10
},
"message_save_latency": {
"help": "how long it takes to save a message to spool",
"type": "histogram",
"value": {
"avg": 0.00005792740291806952,
"bucket": [
[
0.005,
891.0
],
[
0.01,
891.0
],
[
0.025,
891.0
],
[
0.05,
891.0
],
[
0.1,
891.0
],
[
0.25,
891.0
],
[
0.5,
891.0
],
[
1.0,
891.0
],
[
2.5,
891.0
],
[
5.0,
891.0
],
[
10.0,
891.0
]
],
"count": 891,
"sum": 0.05161331599999994
}
},
"queue_insert_latency": {
"help": "latency of QueueManager::insert operations",
"type": "histogram",
"value": {
"avg": 0.005988118529741864,
"bucket": [
[
0.005,
692.0
],
[
0.01,
701.0
],
[
0.025,
801.0
],
[
0.05,
882.0
],
[
0.1,
891.0
],
[
0.25,
891.0
],
[
0.5,
891.0
],
[
1.0,
891.0
],
[
2.5,
891.0
],
[
5.0,
891.0
],
[
10.0,
891.0
]
],
"count": 891,
"sum": 5.335413610000001
}
},
"queue_resolve_latency": {
"help": "latency of QueueManager::resolve operations",
"type": "histogram",
"value": {
"avg": 0.00009464214029180701,
"bucket": [
[
0.005,
885.0
],
[
0.01,
889.0
],
[
0.025,
891.0
],
[
0.05,
891.0
],
[
0.1,
891.0
],
[
0.25,
891.0
],
[
0.5,
891.0
],
[
1.0,
891.0
],
[
2.5,
891.0
],
[
5.0,
891.0
],
[
10.0,
891.0
]
],
"count": 891,
"sum": 0.08432614700000005
}
},
"rocks_spool_cache_total": {
"help": "Approximate memory usage by cache",
"type": "gauge",
"value": {
"path": {
"/var/spool/kumomta/data": 0,
"/var/spool/kumomta/meta": 0
}
}
},
"rocks_spool_mem_table_readers_total": {
"help": "Approximate memory usage of all the table readers",
"type": "gauge",
"value": {
"path": {
"/var/spool/kumomta/data": 10934,
"/var/spool/kumomta/meta": 11030
}
}
},
"rocks_spool_mem_table_total": {
"help": "Approximate memory usage of all the mem-tables",
"type": "gauge",
"value": {
"path": {
"/var/spool/kumomta/data": 1050624,
"/var/spool/kumomta/meta": 1050624
}
}
},
"rocks_spool_mem_table_unflushed": {
"help": "Approximate memory usage of un-flushed mem-tables",
"type": "gauge",
"value": {
"path": {
"/var/spool/kumomta/data": 1050624,
"/var/spool/kumomta/meta": 1050624
}
}
},
"scheduled_count_total": {
"help": "total number of messages across all scheduled queues",
"type": "gauge",
"value": 74
},
"scheduled_queue_count": {
"help": "how many scheduled queues are tracked by the QueueManager",
"type": "gauge",
"value": 1
},
"smtpsrv_process_data_duration": {
"help": "how long it takes to process the DATA portion and enqueue",
"type": "histogram",
"value": {
"avg": 0.11887359000000002,
"bucket": [
[
0.005,
0.0
],
[
0.01,
0.0
],
[
0.025,
0.0
],
[
0.05,
0.0
],
[
0.1,
2.0
],
[
0.25,
3.0
],
[
0.5,
3.0
],
[
1.0,
3.0
],
[
2.5,
3.0
],
[
5.0,
3.0
],
[
10.0,
3.0
]
],
"count": 3,
"sum": 0.35662077000000003
}
},
"smtpsrv_read_data_duration": {
"help": "how long it takes to receive the DATA portion",
"type": "histogram",
"value": {
"avg": 0.28053442733333334,
"bucket": [
[
0.005,
0.0
],
[
0.01,
0.0
],
[
0.025,
0.0
],
[
0.05,
0.0
],
[
0.1,
0.0
],
[
0.25,
2.0
],
[
0.5,
3.0
],
[
1.0,
3.0
],
[
2.5,
3.0
],
[
5.0,
3.0
],
[
10.0,
3.0
]
],
"count": 3,
"sum": 0.841603282
}
},
"smtpsrv_transaction_duration": {
"help": "how long an incoming SMTP transaction takes",
"type": "histogram",
"value": {
"avg": 0.7938387923333333,
"bucket": [
[
0.005,
0.0
],
[
0.01,
0.0
],
[
0.025,
0.0
],
[
0.05,
0.0
],
[
0.1,
0.0
],
[
0.25,
0.0
],
[
0.5,
0.0
],
[
1.0,
3.0
],
[
2.5,
3.0
],
[
5.0,
3.0
],
[
10.0,
3.0
]
],
"count": 3,
"sum": 2.381516377
}
},
"thread_pool_parked": {
"help": "number of parked(idle) threads in a thread pool",
"type": "gauge",
"value": {
"pool": {
"localset": 0,
"logging": 1,
"qmaint": 1,
"readyq": 1,
"readyq_maint": 1,
"smtpsrv": 1,
"spoolin": 1
}
}
},
"thread_pool_size": {
"help": "number of threads in a thread pool",
"type": "gauge",
"value": {
"pool": {
"localset": 1,
"logging": 1,
"qmaint": 1,
"readyq": 1,
"readyq_maint": 1,
"smtpsrv": 1,
"spoolin": 1
}
}
},
"timeq_pop_interval": {
"help": "The amount of time that passes between calls to TimeQ::pop",
"type": "histogram",
"value": {
"avg": 3.0010955508413693,
"bucket": [
[
3.0,
0.0
],
[
4.0,
106946.0
],
[
5.0,
106946.0
],
[
8.0,
106946.0
],
[
10.0,
106946.0
],
[
12.0,
106946.0
],
[
15.0,
106946.0
],
[
20.0,
106946.0
],
[
25.0,
106946.0
],
[
30.0,
106946.0
]
],
"count": 106946,
"sum": 320955.1647802811
}
},
"timeq_pop_latency": {
"help": "The amount of time that passes between calls to a singleon timerwheel pop",
"type": "histogram",
"value": {
"avg": 0.000003032083630991325,
"bucket": [
[
0.005,
106946.0
],
[
0.01,
106946.0
],
[
0.025,
106946.0
],
[
0.05,
106946.0
],
[
0.1,
106946.0
],
[
0.25,
106946.0
],
[
0.5,
106946.0
],
[
1.0,
106946.0
],
[
2.5,
106946.0
],
[
5.0,
106946.0
],
[
10.0,
106946.0
]
],
"count": 106946,
"sum": 0.32426921599999825
}
},
"timeq_pop_tardiness": {
"help": "The time difference between the due and current time for a singleon timerwheel pop",
"type": "histogram",
"value": {
"avg": 1.032449351107329,
"bucket": [
[
0.25,
796.0
],
[
0.5,
923.0
],
[
1.0,
1117.0
],
[
2.5,
1441.0
],
[
3.0,
1556.0
],
[
5.0,
1692.0
],
[
10.0,
1733.0
],
[
15.0,
1733.0
]
],
"count": 1733,
"sum": 1789.2347254690012
}
},
"timeq_reinsert_tardiness": {
"help": "The time difference between the due and current time for a singleon timerwheel reinsertion",
"type": "histogram",
"value": {
"avg": 18.126645269657416,
"bucket": [
[
0.25,
438.0
],
[
0.5,
479.0
],
[
1.0,
672.0
],
[
2.5,
1138.0
],
[
3.0,
1251.0
],
[
5.0,
1391.0
],
[
10.0,
1432.0
],
[
15.0,
1435.0
],
[
30.0,
1436.0
],
[
45.0,
1437.0
],
[
60.0,
1437.0
],
[
90.0,
1437.0
],
[
180.0,
1437.0
],
[
360.0,
1437.0
],
[
720.0,
1437.0
]
],
"count": 1442,
"sum": 26138.622478845995
}
},
"tokio_budget_forced_yield_count": {
"help": "Returns the number of times that tasks have been forced to yield back to the scheduler after exhausting their task budgets.",
"type": "counter",
"value": 0
},
"tokio_elapsed": {
"help": "Total amount of time elapsed since observing runtime metrics.",
"type": "counter",
"value": 320959.880542688
},
"tokio_global_queue_depth": {
"help": "The number of tasks currently scheduled in the runtime’s injection queue.",
"type": "gauge",
"value": 0
},
"tokio_io_driver_ready_count": {
"help": "Returns the number of ready events processed by the runtime’s I/O driver.",
"type": "counter",
"value": 0
},
"tokio_num_remote_schedules": {
"help": "The number of tasks scheduled from outside of the runtime.",
"type": "counter",
"value": 11722
},
"tokio_total_busy_duration": {
"help": "The amount of time worker threads were busy.",
"type": "counter",
"value": 29.341729831999988
},
"tokio_total_local_queue_depth": {
"help": "The total number of tasks currently scheduled in workers’ local queues.",
"type": "gauge",
"value": 0
},
"tokio_total_local_schedule_count": {
"help": "The number of tasks scheduled from worker threads.",
"type": "counter",
"value": 64903
},
"tokio_total_noop_count": {
"help": "The number of times worker threads unparked but performed no work before parking again.",
"type": "counter",
"value": 125498
},
"tokio_total_overflow_count": {
"help": "The number of times worker threads saturated their local queues.",
"type": "counter",
"value": 0
},
"tokio_total_park_count": {
"help": "The number of times worker threads parked.",
"type": "counter",
"value": 202122
},
"tokio_total_polls_count": {
"help": "The number of tasks that have been polled across all worker threads.",
"type": "counter",
"value": 76625
},
"tokio_total_steal_count": {
"help": "The number of tasks worker threads stole from another worker thread.",
"type": "counter",
"value": 0
},
"tokio_total_steal_operations": {
"help": "The number of times worker threads stole tasks from another worker thread.",
"type": "counter",
"value": 0
},
"tokio_workers_count": {
"help": "The number of worker threads used by the runtime.",
"type": "gauge",
"value": 2
},
"total_qmaint_runs": {
"help": "total number of times a scheduled queue maintainer was run",
"type": "counter",
"value": 106946
},
"total_readyq_runs": {
"help": "total number of times a readyq maintainer was run",
"type": "counter",
"value": 880
},
"connection_count": {
"help": "number of active connections",
"type": "gauge",
"value": {
"service": {
"lua": 0,
"esmtp_listener": 0
}
}
},
"total_connections_denied": {
"help": "total number of connections rejected due to load shedding or concurrency limits",
"type": "counter",
"value": {
"service": {
"esmtp_listener": 0
}
}
},
"scheduled_by_domain": {
"help": "number of messages in the scheduled queue for a specific domain",
"type": "gauge",
"value": {
"domain": {
"amqp.log_hook": 74
}
}
},
"scheduled_count": {
"help": "number of messages in the scheduled queue",
"type": "gauge",
"value": {
"queue": {
"amqp.log_hook": 74
}
}
},
"queued_count_by_provider": {
"help": "number of messages in the scheduled and ready queue",
"type": "gauge",
"value": {
"provider": {
"NXDOMAIN:amqp.log_hook": 74
}
}
},
"queued_count_by_provider_and_pool": {
"help": "number of messages in the scheduled and ready queue",
"type": "gauge",
"value": [
{
"provider": "NXDOMAIN:amqp.log_hook",
"pool": "unspecified",
"@": 74
}
]
},
"total_messages_received": {
"help": "total number of messages ever received",
"type": "counter",
"value": {
"service": {
"esmtp_listener:172.31.26.3:25": 2,
"esmtp_listener:172.31.26.3:587": 1,
"esmtp_listener": 3
}
}
},
"smtp_server_rejections": {
"help": "number of Rejection records logged by the smtp server",
"type": "counter",
"value": {
"service": {
"total": 294,
"172.31.26.3:25": 158,
"172.31.26.3:587": 136
}
}
},
"total_connection_count": {
"help": "total number of active connections ever made",
"type": "counter",
"value": {
"service": {
"lua": 232
}
}
},
"ready_count": {
"help": "number of messages in the ready queue",
"type": "gauge",
"value": {
"service": {
"lua": 0
}
}
},
"total_messages_delivered": {
"help": "total number of messages ever delivered",
"type": "counter",
"value": {
"service": {
"lua": 292
}
}
},
"total_messages_transfail": {
"help": "total number of message delivery attempts that transiently failed",
"type": "counter",
"value": {
"service": {
"lua": 0
}
}
},
"total_messages_fail": {
"help": "total number of message delivery attempts that permanently failed",
"type": "counter",
"value": {
"service": {
"lua": 292
}
}
},
"total_messages_fail_by_provider_and_source": {
"help": "total number of message delivery attempts that permanently failed",
"type": "counter",
"value": null
},
"total_messages_delivered_by_provider_and_source": {
"help": "total number of messages ever delivered",
"type": "counter",
"value": null
},
"total_messages_transfail_by_provider_and_source": {
"help": "total number of message delivery attempts that transiently failed",
"type": "counter",
"value": null
},
"total_messages_fail_by_provider": {
"help": "total number of message delivery attempts that permanently failed",
"type": "counter",
"value": null
},
"total_messages_delivered_by_provider": {
"help": "total number of messages ever delivered",
"type": "counter",
"value": null
},
"total_messages_transfail_by_provider": {
"help": "total number of message delivery attempts that transiently failed",
"type": "counter",
"value": null
},
"connection_count_by_provider": {
"help": "number of active connections",
"type": "gauge",
"value": null
},
"connection_count_by_provider_and_pool": {
"help": "number of active connections",
"type": "gauge",
"value": null
},
"ready_full": {
"help": "number of times a message could not fit in the ready queue",
"type": "counter",
"value": null
},
"delayed_due_to_throttle_insert_ready": {
"help": "number of times a message was delayed due throttle_insert_ready_queue event",
"type": "counter",
"value": {
"queue": {
"amqp.log_hook": 19
}
}
}
}
Documentation for metrics
https://docs.kumomta.com/reference/http/metrics.json/