summaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/MetricDefinitions.java
blob: e16e4b51959bba693ff3637b4766bcb1f3f36037 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.jdisc.http.server.jetty;

import com.yahoo.metrics.ContainerMetrics;

/**
 * Name and dimensions for jdisc/container metrics
 *
 * @author bjorncs
 */
class MetricDefinitions {
    static final String NAME_DIMENSION = "serverName";
    static final String PORT_DIMENSION = "serverPort";
    static final String METHOD_DIMENSION = "httpMethod";
    static final String SCHEME_DIMENSION = "scheme";
    static final String REQUEST_TYPE_DIMENSION = "requestType";
    static final String CLIENT_IP_DIMENSION = "clientIp";
    static final String CLIENT_AUTHENTICATED_DIMENSION = "clientAuthenticated";
    static final String REQUEST_SERVER_NAME_DIMENSION = "requestServerName";
    static final String FILTER_CHAIN_ID_DIMENSION = "chainId";
    static final String PROTOCOL_DIMENSION = "protocol";
    static final String STATUS_CODE_DIMENSION = "statusCode";

    static final String NUM_OPEN_CONNECTIONS = "serverNumOpenConnections";
    static final String NUM_CONNECTIONS_OPEN_MAX = "serverConnectionsOpenMax";
    static final String CONNECTION_DURATION_MAX = "serverConnectionDurationMax";
    static final String CONNECTION_DURATION_MEAN = "serverConnectionDurationMean";
    static final String CONNECTION_DURATION_STD_DEV = "serverConnectionDurationStdDev";
    static final String NUM_PREMATURELY_CLOSED_CONNECTIONS = "jdisc.http.request.prematurely_closed";
    static final String REQUESTS_PER_CONNECTION = "jdisc.http.request.requests_per_connection";

    static final String NUM_BYTES_RECEIVED = "serverBytesReceived";
    static final String NUM_BYTES_SENT     = "serverBytesSent";

    static final String NUM_CONNECTIONS = "serverNumConnections";

    /* For historical reasons, these are all aliases for the same metric. 'jdisc.http' should ideally be the only one. */
    static final String JDISC_HTTP_REQUESTS = "jdisc.http.requests";
    static final String NUM_REQUESTS = "serverNumRequests";

    static final String NUM_SUCCESSFUL_RESPONSES = "serverNumSuccessfulResponses";
    static final String NUM_FAILED_RESPONSES = "serverNumFailedResponses";
    static final String NUM_SUCCESSFUL_WRITES = "serverNumSuccessfulResponseWrites";
    static final String NUM_FAILED_WRITES = "serverNumFailedResponseWrites";

    static final String TOTAL_SUCCESSFUL_LATENCY = "serverTotalSuccessfulResponseLatency";
    static final String TOTAL_FAILED_LATENCY = "serverTotalFailedResponseLatency";
    static final String TIME_TO_FIRST_BYTE = "serverTimeToFirstByte";

    static final String RESPONSES_1XX = ContainerMetrics.HTTP_STATUS_1XX.baseName();
    static final String RESPONSES_2XX = ContainerMetrics.HTTP_STATUS_2XX.baseName();
    static final String RESPONSES_3XX = ContainerMetrics.HTTP_STATUS_3XX.baseName();
    static final String RESPONSES_4XX = ContainerMetrics.HTTP_STATUS_4XX.baseName();
    static final String RESPONSES_5XX = ContainerMetrics.HTTP_STATUS_5XX.baseName();

    static final String STARTED_MILLIS = "serverStartedMillis";

    static final String URI_LENGTH = "jdisc.http.request.uri_length";
    static final String CONTENT_SIZE = "jdisc.http.request.content_size";

    static final String SSL_HANDSHAKE_FAILURE_MISSING_CLIENT_CERT = "jdisc.http.ssl.handshake.failure.missing_client_cert";
    static final String SSL_HANDSHAKE_FAILURE_EXPIRED_CLIENT_CERT = "jdisc.http.ssl.handshake.failure.expired_client_cert";
    static final String SSL_HANDSHAKE_FAILURE_INVALID_CLIENT_CERT = "jdisc.http.ssl.handshake.failure.invalid_client_cert";
    static final String SSL_HANDSHAKE_FAILURE_INCOMPATIBLE_PROTOCOLS = "jdisc.http.ssl.handshake.failure.incompatible_protocols";
    static final String SSL_HANDSHAKE_FAILURE_INCOMPATIBLE_CIPHERS = "jdisc.http.ssl.handshake.failure.incompatible_ciphers";
    static final String SSL_HANDSHAKE_FAILURE_UNKNOWN = "jdisc.http.ssl.handshake.failure.unknown";
    static final String SSL_HANDSHAKE_FAILURE_CONNECTION_CLOSED = "jdisc.http.ssl.handshake.failure.connection_closed";

    static final String JETTY_THREADPOOL_MAX_THREADS = ContainerMetrics.JETTY_THREADPOOL_MAX_THREADS.baseName();
    static final String JETTY_THREADPOOL_MIN_THREADS = ContainerMetrics.JETTY_THREADPOOL_MIN_THREADS.baseName();
    static final String JETTY_THREADPOOL_RESERVED_THREADS = ContainerMetrics.JETTY_THREADPOOL_RESERVED_THREADS.baseName();
    static final String JETTY_THREADPOOL_BUSY_THREADS = ContainerMetrics.JETTY_THREADPOOL_BUSY_THREADS.baseName();
    static final String JETTY_THREADPOOL_IDLE_THREADS = ContainerMetrics.JETTY_THREADPOOL_IDLE_THREADS.baseName();
    static final String JETTY_THREADPOOL_TOTAL_THREADS = ContainerMetrics.JETTY_THREADPOOL_TOTAL_THREADS.baseName();
    static final String JETTY_THREADPOOL_QUEUE_SIZE = ContainerMetrics.JETTY_THREADPOOL_QUEUE_SIZE.baseName();

    static final String FILTERING_REQUEST_HANDLED = "jdisc.http.filtering.request.handled";
    static final String FILTERING_REQUEST_UNHANDLED = "jdisc.http.filtering.request.unhandled";
    static final String FILTERING_RESPONSE_HANDLED = "jdisc.http.filtering.response.handled";
    static final String FILTERING_RESPONSE_UNHANDLED = "jdisc.http.filtering.response.unhandled";

    private MetricDefinitions() {}
}