blob: 36aaa28c6b2fb716909a519fb84b8fd25dc245ec [file] [log] [blame]
# SPDX-FileCopyrightText: 2020 The Magma Authors.
# SPDX-FileCopyrightText: 2022 Open Networking Foundation <support@opennetworking.org>
#
# SPDX-License-Identifier: BSD-3-Clause
"""
Copyright 2020 The Magma Authors.
This source code is licensed under the BSD-style license found in the
LICENSE file in the root directory of this source tree.
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.
"""
from prometheus_client import Counter, Gauge
# Gauges for current eNodeB status
STAT_ENODEB_CONNECTED = Gauge(
'enodeb_mgmt_connected',
'ENodeB management plane connected',
)
STAT_ENODEB_CONFIGURED = Gauge(
'enodeb_mgmt_configured',
'ENodeB is in configured state',
)
STAT_OPSTATE_ENABLED = Gauge(
'enodeb_opstate_enabled',
'ENodeB operationally enabled',
)
STAT_RF_TX_ENABLED = Gauge(
'enodeb_rf_tx_enabled',
'ENodeB RF transmitter enabled',
)
STAT_RF_TX_DESIRED = Gauge(
'enodeb_rf_tx_desired',
'ENodeB RF transmitter desired state',
)
STAT_GPS_CONNECTED = Gauge(
'enodeb_gps_connected',
'ENodeB GPS synchronized',
)
STAT_PTP_CONNECTED = Gauge(
'enodeb_ptp_connected',
'ENodeB PTP/1588 synchronized',
)
STAT_MME_CONNECTED = Gauge(
'enodeb_mme_connected',
'ENodeB connected to MME',
)
STAT_ENODEB_REBOOT_TIMER_ACTIVE = Gauge(
'enodeb_reboot_timer_active',
'Timer for ENodeB reboot active',
)
STAT_ENODEB_REBOOTS = Counter(
'enodeb_reboots',
'ENodeB reboots by enodebd', ['cause'],
)
STAT_ENODEB_LAST_CONFIGURED = Gauge(
'enodeb_last_configured',
'Information of configured eNodeB', ['serial_number', 'ip_address', 'gps_lat', 'gps_lon']
)
# Metrics that are accumulated by eNodeB. Use gauges to avoid 'double-counting',
# since eNodeB does accumulation.
STAT_RRC_ESTAB_ATT = Gauge(
'rrc_estab_attempts', 'RRC establishment attempts',
)
STAT_RRC_ESTAB_SUCC = Gauge(
'rrc_estab_successes', 'RRC establishment successes',
)
STAT_RRC_REESTAB_ATT = Gauge(
'rrc_reestab_attempts', 'RRC re-establishment attempts',
)
STAT_RRC_REESTAB_ATT_RECONF_FAIL = Gauge(
'rrc_reestab_attempts_reconf_fail',
'RRC re-establishment attempts due to reconfiguration failure',
)
STAT_RRC_REESTAB_ATT_HO_FAIL = Gauge(
'rrc_reestab_attempts_ho_fail',
'RRC re-establishment attempts due to handover failure',
)
STAT_RRC_REESTAB_ATT_OTHER = Gauge(
'rrc_reestab_attempts_other',
'RRC re-establishment attempts due to other cause',
)
STAT_RRC_REESTAB_SUCC = Gauge(
'rrc_reestab_successes', 'RRC re-establishment successes',
)
STAT_ERAB_ESTAB_ATT = Gauge(
'erab_estab_attempts', 'ERAB establishment attempts',
)
STAT_ERAB_ESTAB_SUCC = Gauge(
'erab_estab_successes', 'ERAB establishment successes',
)
STAT_ERAB_ESTAB_FAIL = Gauge(
'erab_estab_failures', 'ERAB establishment failures',
)
STAT_ERAB_REL_REQ = Gauge(
'erab_release_requests', 'ERAB release requests',
)
STAT_ERAB_REL_REQ_USER_INAC = Gauge(
'erab_release_requests_user_inactivity',
'ERAB release requests due to user inactivity',
)
STAT_ERAB_REL_REQ_NORMAL = Gauge(
'erab_release_requests_normal', 'ERAB release requests due to normal cause',
)
STAT_ERAB_REL_REQ_RES_NOT_AVAIL = Gauge(
'erab_release_requests_radio_resources_not_available',
'ERAB release requests due to radio resources not available',
)
STAT_ERAB_REL_REQ_REDUCE_LOAD = Gauge(
'erab_release_requests_reduce_load',
'ERAB release requests due to reducing load in serving cell',
)
STAT_ERAB_REL_REQ_FAIL_IN_RADIO = Gauge(
'erab_release_requests_fail_in_radio_proc',
'ERAB release requests due to failure in the radio interface procedure',
)
STAT_ERAB_REL_REQ_EUTRAN_REAS = Gauge(
'erab_release_requests_eutran_reas',
'ERAB release requests due to EUTRAN generated reasons',
)
STAT_ERAB_REL_REQ_RADIO_CONN_LOST = Gauge(
'erab_release_requests_radio_radio_conn_lost',
'ERAB release requests due to radio connection with UE lost',
)
STAT_ERAB_REL_REQ_OAM_INTV = Gauge(
'erab_release_requests_oam_intervention',
'ERAB release requests due to OAM intervention',
)
STAT_PDCP_USER_PLANE_BYTES_UL = Gauge(
'pdcp_user_plane_bytes_ul', 'User plane uplink bytes at PDCP', ['enodeb'],
)
STAT_PDCP_USER_PLANE_BYTES_DL = Gauge(
'pdcp_user_plane_bytes_dl', 'User plane downlink bytes at PDCP', ['enodeb'],
)