Docs: TLS Negotiated Group Metrics (#12415)
(cherry picked from commit 9656caaba0d0ae1634f7a6dac660a8d433f06c83)
diff --git a/doc/admin-guide/monitoring/statistics/core-statistics.en.rst b/doc/admin-guide/monitoring/statistics/core-statistics.en.rst
index 78e5e04..1edf079 100644
--- a/doc/admin-guide/monitoring/statistics/core-statistics.en.rst
+++ b/doc/admin-guide/monitoring/statistics/core-statistics.en.rst
@@ -40,6 +40,7 @@
core/network-io.en
core/ssl.en
core/ssl-cipher.en
+ core/ssl-group.en
core/http-transaction.en
core/http-response-code.en
core/http-request-method.en
diff --git a/doc/admin-guide/monitoring/statistics/core/ssl-group.en.rst b/doc/admin-guide/monitoring/statistics/core/ssl-group.en.rst
new file mode 100644
index 0000000..4718db6
--- /dev/null
+++ b/doc/admin-guide/monitoring/statistics/core/ssl-group.en.rst
@@ -0,0 +1,65 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+.. include:: ../../../../common.defs
+
+.. _admin-stats-core-ssl-group:
+
+TLS Negotiated Group
+********************
+
+The following statistics provide individual counters for the number of TLS negotiated group with client.
+Some groups do not appear if linked TLS library doesn't support them.
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.ffdhe2048 integer integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.ffdhe3072 integer integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.ffdhe4096 integer integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.ffdhe6144 integer integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.ffdhe8192 integer integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.P-224 integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.P-256 integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.P-384 integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.P-521 integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.X448 integer integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.X25519 integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.X25519MLKEM768 integer
+ :type: counter
+
+.. ts:stat:: global proxy.process.ssl.group.user_agent.OTHER integer
+ :type: counter