referrerpolicy=no-referrer-when-downgrade

sc_network/protocol/notifications/service/
metrics.rs

1// This file is part of Substrate.
2
3// Copyright (C) Parity Technologies (UK) Ltd.
4// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
5
6// This program is free software: you can redistribute it and/or modify
7// it under the terms of the GNU General Public License as published by
8// the Free Software Foundation, either version 3 of the License, or
9// (at your option) any later version.
10
11// This program is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15
16// You should have received a copy of the GNU General Public License
17// along with this program. If not, see <https://www.gnu.org/licenses/>.
18
19use crate::{service::metrics::NotificationMetrics, types::ProtocolName};
20
21/// Register opened substream to Prometheus.
22pub fn register_substream_opened(metrics: &Option<NotificationMetrics>, protocol: &ProtocolName) {
23	if let Some(metrics) = metrics {
24		metrics.register_substream_opened(&protocol);
25	}
26}
27
28/// Register closed substream to Prometheus.
29pub fn register_substream_closed(metrics: &Option<NotificationMetrics>, protocol: &ProtocolName) {
30	if let Some(metrics) = metrics {
31		metrics.register_substream_closed(&protocol);
32	}
33}
34
35/// Register sent notification to Prometheus.
36pub fn register_notification_sent(
37	metrics: &Option<std::sync::Arc<NotificationMetrics>>,
38	protocol: &ProtocolName,
39	size: usize,
40) {
41	if let Some(metrics) = metrics {
42		metrics.register_notification_sent(protocol, size);
43	}
44}
45
46/// Register received notification to Prometheus.
47pub fn register_notification_received(
48	metrics: &Option<NotificationMetrics>,
49	protocol: &ProtocolName,
50	size: usize,
51) {
52	if let Some(metrics) = metrics {
53		metrics.register_notification_received(protocol, size);
54	}
55}