Add rate counters for number of frames muxed/demuxed (E1 side)

Nominally this is of course 8000/s, but this patch should allow us to
verify this in monitoring.  Note that the rate_ctr base of course is
"wrong" as it uses the normal system clock, which is much less precise
than the E1 clock of an icE1usb with GPS-DO.

So it really only helps us to compare Rx against Tx or against other
values/counters derived from the TDM clock.

Change-Id: I40e9fb38561410fbf0902b8a390673690a36ea5e
This commit is contained in:
Harald Welte 2022-04-19 15:04:18 +02:00
parent 0d67df2307
commit 7fb09b8884
3 changed files with 8 additions and 0 deletions

View File

@ -54,6 +54,8 @@ enum e1d_line_ctr {
LINE_CTR_TX_UNFL,
LINE_CTR_RX_REMOTE_E,
LINE_CTR_RX_REMOTE_A,
LINE_CTR_FRAMES_MUXED_E1T,
LINE_CTR_FRAMES_DEMUXED_E1O,
};
enum e1_ts_mode {

View File

@ -56,6 +56,8 @@ static const struct rate_ctr_desc line_ctr_description[] = {
[LINE_CTR_TX_UNFL] = { "tx:underflow", "E1 Tx Underflow" },
[LINE_CTR_RX_REMOTE_E] ={ "rx:remote_crc_errors", "Rx Frames Reporting Remote CRC Error"},
[LINE_CTR_RX_REMOTE_A] ={ "rx:remote_alarm", "Rx Frames Reporting Remote Alarm"},
[LINE_CTR_FRAMES_MUXED_E1T] = { "tx:frames_muxed", "E1 Tx Frames multiplexed" },
[LINE_CTR_FRAMES_DEMUXED_E1O] = { "rx:frames_demuxed", "E1 Rx Frames demultiplexed" },
};
static const struct rate_ctr_group_desc line_ctrg_desc = {

View File

@ -218,6 +218,8 @@ e1_line_mux_out(struct e1_line *line, uint8_t *buf, int fts)
OSMO_ASSERT(0);
}
line_ctr_add(line, LINE_CTR_FRAMES_MUXED_E1T, fts);
return tsz;
}
@ -421,6 +423,8 @@ e1_line_demux_in(struct e1_line *line, const uint8_t *buf, int size, int frame_b
if (frame_base >= 0)
_e1_line_demux_in_ts0(line, buf, ftr, frame_base);
line_ctr_add(line, LINE_CTR_FRAMES_DEMUXED_E1O, ftr);
switch (line->mode) {
case E1_LINE_MODE_CHANNELIZED:
return _e1_line_demux_in_channelized(line, buf, ftr);