Ripples 1.0
High Performant Software Architecture For Transaction Processing
Loading...
Searching...
No Matches
metrics_s Struct Reference

#include <metrics.h>

Data Fields

struct { 
 
   atomic_ullong   connections 
 
   atomic_ullong   queries 
 
   atomic_ullong   unknown_client_ip_soc_family 
 
   atomic_ullong   getsockname_err 
 
   atomic_ullong   unknown_local_ip_soc_family 
 
   atomic_ullong   conn_id_unavailable 
 
   atomic_ullong   query_len_toolarge 
 
   atomic_ullong   query_recv_timeout 
 
   atomic_ullong   keepalive_timeout 
 
   atomic_ullong   closed_no_query 
 
   atomic_ullong   closed_partial_query 
 
   atomic_ullong   sock_read_err 
 
   atomic_ullong   sock_write_err 
 
   atomic_ullong   sock_write_timeout 
 
   atomic_ullong   sock_closed_for_write 
 
tcp 
 
struct { 
 
   atomic_ullong   queries 
 
udp 
 
struct { 
 
   atomic_ullong   queries 
 
   atomic_ullong   queries_rcode_noerror 
 
   atomic_ullong   queries_rcode_formerr 
 
   atomic_ullong   queries_rcode_servfail 
 
   atomic_ullong   queries_rcode_nxdomain 
 
   atomic_ullong   queries_rcode_notimpl 
 
   atomic_ullong   queries_rcode_refused 
 
   atomic_ullong   queries_rcode_shortheader 
 
   atomic_ullong   queries_rcode_toolarge 
 
   atomic_ullong   queries_rcode_badversion 
 
   atomic_ullong   queries_type_invalid 
 
   atomic_ullong   queries_type_A 
 
   atomic_ullong   queries_type_AAAA 
 
   atomic_ullong   queries_type_CNAME 
 
   atomic_ullong   queries_type_MX 
 
   atomic_ullong   queries_type_NS 
 
   atomic_ullong   queries_type_PTR 
 
   atomic_ullong   queries_type_SRV 
 
   atomic_ullong   queries_type_SOA 
 
   atomic_ullong   queries_type_TXT 
 
   atomic_ullong   queries_type_unsupported 
 
   atomic_ullong   queries_edns_present 
 
   atomic_ullong   queries_edns_valid 
 
   atomic_ullong   queries_edns_dobit 
 
   atomic_ullong   queries_clientsubnet 
 
dns 
 
struct { 
 
   atomic_ullong   app_log_open_error 
 
   atomic_ullong   app_log_write_error 
 
   atomic_ullong   query_log_buf_no_space 
 
   atomic_ullong   resource_reload_error 
 
   atomic_ullong   query_log_open_error 
 
app 
 

Detailed Description

Structure holds global metrics application collects. Metrics are atomic variables treated as counters.

Field Documentation

◆ [struct]

struct { ... } metrics_s::app

Structure holds application related metrics.

◆ app_log_open_error

atomic_ullong metrics_s::app_log_open_error

Number of times opening application lgo file resulted in error.

◆ app_log_write_error

atomic_ullong metrics_s::app_log_write_error

Number of times writing to application lgo file resulted in error.

◆ closed_no_query

atomic_ullong metrics_s::closed_no_query

Number of connections that were closed because not query was ever received on them. I.e. TCP connection was accepted then no data followed, then conenction was closed by far end. Any deviation from steady state could be an indication of DOS.

◆ closed_partial_query

atomic_ullong metrics_s::closed_partial_query

Number of connections that were closed because full query was ever received on them. I.e. TCP connection was accepted then partial query data followed, then TCP conenction was closed by far end. Any deviation from steady state could be an indication of DOS.

◆ conn_id_unavailable

atomic_ullong metrics_s::conn_id_unavailable

Number of times we could not assign a connection ID

◆ connections

atomic_ullong metrics_s::connections

Number of new connections accepted

◆ [struct]

struct { ... } metrics_s::dns

Structure holds DNS related metrics.

◆ getsockname_err

atomic_ullong metrics_s::getsockname_err

Number of times call to getsockname() for TCP connection failed.

◆ keepalive_timeout

atomic_ullong metrics_s::keepalive_timeout

Number of connections that were closed due to idle (keepalive) timeout.

◆ queries

atomic_ullong metrics_s::queries

Number of queries received

Number of queries received.

◆ queries_rcode_badversion

atomic_ullong metrics_s::queries_rcode_badversion

Number of queries responded to with rcode bad version. This happens when EDNS version in request is not supported.

◆ queries_rcode_formerr

atomic_ullong metrics_s::queries_rcode_formerr

Number of queries responded to with rcode FORMERR

◆ queries_rcode_noerror

atomic_ullong metrics_s::queries_rcode_noerror

Number of queries responded to with rcode NOERROR

◆ queries_rcode_notimpl

atomic_ullong metrics_s::queries_rcode_notimpl

Number of queries responded to with rcode NOTIMPL

◆ queries_rcode_nxdomain

atomic_ullong metrics_s::queries_rcode_nxdomain

Number of queries responded to with rcode NXDOMAIN

◆ queries_rcode_refused

atomic_ullong metrics_s::queries_rcode_refused

Number of queries responded to with rcode REFUSED

◆ queries_rcode_servfail

atomic_ullong metrics_s::queries_rcode_servfail

Number of queries responded to with rcode SERVFAIL

◆ queries_rcode_shortheader

atomic_ullong metrics_s::queries_rcode_shortheader

Number of queries with rcode shortheader

◆ queries_rcode_toolarge

atomic_ullong metrics_s::queries_rcode_toolarge

Number of queries with rcode too large

◆ queries_type_A

atomic_ullong metrics_s::queries_type_A

Number of query request received with question of type A.

◆ queries_type_AAAA

atomic_ullong metrics_s::queries_type_AAAA

Number of query request received with question of type AAAA.

◆ queries_type_CNAME

atomic_ullong metrics_s::queries_type_CNAME

Number of query request received with question of type CNAME.

◆ queries_type_invalid

atomic_ullong metrics_s::queries_type_invalid

Number of query request received with question type being invalid.

◆ queries_type_MX

atomic_ullong metrics_s::queries_type_MX

Number of query request received with question of type MX.

◆ queries_type_NS

atomic_ullong metrics_s::queries_type_NS

Number of query request received with question of type NS.

◆ queries_type_PTR

atomic_ullong metrics_s::queries_type_PTR

Number of query request received with question of type PTR.

◆ queries_type_SOA

atomic_ullong metrics_s::queries_type_SOA

Number of query request received with question of type SOA.

◆ queries_type_SRV

atomic_ullong metrics_s::queries_type_SRV

Number of query request received with question of type SRV.

◆ queries_type_TXT

atomic_ullong metrics_s::queries_type_TXT

Number of query request received with question of type TXT.

◆ queries_type_unsupported

atomic_ullong metrics_s::queries_type_unsupported

Number of query request received with question of unsupported type.

◆ query_len_toolarge

atomic_ullong metrics_s::query_len_toolarge

Number of times we received a query with datagram size larger than 512.

◆ query_log_buf_no_space

atomic_ullong metrics_s::query_log_buf_no_space

Number of times writing to query log buffer resulted in not having enough space to log the query. It is OK to have this happen under extrem load such as an intense DOS attack. If this happens under temporary traffic spikes it might be necessary to increase the query log buffer size.

◆ query_recv_timeout

atomic_ullong metrics_s::query_recv_timeout

Number of queries that were partially received and then timed out receiving the full query. Any deviation from steady state could be an indication of DOS.

◆ resource_reload_error

atomic_ullong metrics_s::resource_reload_error

Number of times checking (and if changed reloading) a resource failed. Increase in this counter indicate that something happened to the resource and we might be serving stale responses.

◆ sock_closed_for_write

atomic_ullong metrics_s::sock_closed_for_write

Number of connections that were closed because a socket was closed for write.

◆ sock_read_err

atomic_ullong metrics_s::sock_read_err

Number of connections that were closed because a socket read error occurred.

◆ sock_write_err

atomic_ullong metrics_s::sock_write_err

Number of connections that were closed because a socket write error occurred.

◆ sock_write_timeout

atomic_ullong metrics_s::sock_write_timeout

Number of connections that were closed because a socket write timeout occurred.

◆ [struct]

struct { ... } metrics_s::tcp

Structure holds TCP related metrics.

◆ [struct]

struct { ... } metrics_s::udp

Structure holds UDP IPv4 related metrics.

◆ unknown_client_ip_soc_family

atomic_ullong metrics_s::unknown_client_ip_soc_family

Number of times TCP connection was accepted for unsupported Client IP family. Supported families are IPv4 and IPv6. This condition should never happen as application only binds to IPv4 and IPv6.

◆ unknown_local_ip_soc_family

atomic_ullong metrics_s::unknown_local_ip_soc_family

Number of times TCP connection was accepted for unsupported local IP family. Supported families are IPv4 and IPv6. This condition should never happen as application only binds to IPv4 and IPv6.


The documentation for this struct was generated from the following file: