laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-cbc/+/28785 )

Change subject: vty: Print created and expired times for each message
......................................................................

vty: Print created and expired times for each message

This also allows differentiating between expired and active
messages.

Change-Id: I9ee49b99546a44be706700c3db94d45210c47e54
---
M src/cbc_vty.c
1 file changed, 36 insertions(+), 6 deletions(-)

Approvals:
  Jenkins Builder: Verified
  fixeria: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved



diff --git a/src/cbc_vty.c b/src/cbc_vty.c
index 72ac315..bb445b3 100644
--- a/src/cbc_vty.c
+++ b/src/cbc_vty.c
@@ -102,13 +102,26 @@
 static void dump_one_cbc_msg(struct vty *vty, const struct cbc_message 
*cbc_msg)
 {
        const struct smscb_message *smscb = &cbc_msg->msg;
+       char str_created[32], str_expired[32];
+       struct tm tm_created = {0};
+       struct tm tm_expired = {0};

        OSMO_ASSERT(!smscb->is_etws);

-       vty_out(vty, "| %04X| %04X|%-20s|%-13s|  %-4u|%c| %02x|%s",
+       localtime_r(&cbc_msg->time.created, &tm_created);
+       strftime(str_created, sizeof(str_created), "%Y-%m-%dT%H:%M:%SZ", 
&tm_created);
+       if (cbc_msg->time.expired > 0) {
+               localtime_r(&cbc_msg->time.expired, &tm_expired);
+               strftime(str_expired, sizeof(str_expired), 
"%Y-%m-%dT%H:%M:%SZ", &tm_expired);
+       } else {
+               OSMO_STRLCPY_ARRAY(str_expired, "active");
+       }
+
+       vty_out(vty, "| %04X| %04X|%-20s|%-13s|  %-4u|%c| %02x|%-20s|%-20s|%s",
                smscb->message_id, smscb->serial_nr, cbc_msg->cbe_name,
                get_value_string(cbsp_category_names, cbc_msg->priority), 
cbc_msg->rep_period,
                cbc_msg->extended_cbch ? 'E' : 'N', smscb->cbs.dcs,
+               str_created, str_expired,
                VTY_NEWLINE);
 }
 
@@ -119,9 +132,11 @@
        struct cbc_message *cbc_msg;

        vty_out(vty,
-"|MsgId|SerNo|      CBE Name      |  Category   |Period|E|DCS|%s", 
VTY_NEWLINE);
+"|MsgId|SerNo|      CBE Name      |  Category   |Period|E|DCS|       Created   
   |       Expired      |%s",
+       VTY_NEWLINE);
        vty_out(vty,
-"|-----|-----|--------------------|-------------|------|-|---|%s", 
VTY_NEWLINE);
+"|-----|-----|--------------------|-------------|------|-|---|--------------------|--------------------|%s",
+       VTY_NEWLINE);

        llist_for_each_entry(cbc_msg, &g_cbc->messages, list) {
                if (cbc_msg->msg.is_etws)
@@ -275,13 +290,26 @@
 static void dump_one_etws_msg(struct vty *vty, const struct cbc_message 
*cbc_msg)
 {
        const struct smscb_message *smscb = &cbc_msg->msg;
+       char str_created[32], str_expired[32];
+       struct tm tm_created = {0};
+       struct tm tm_expired = {0};

        OSMO_ASSERT(smscb->is_etws);

-       vty_out(vty, "| %04X| %04X|%-20s|%-13s|  %-4u|%c|         %04d|%s",
+       localtime_r(&cbc_msg->time.created, &tm_created);
+       strftime(str_created, sizeof(str_created), "%Y-%m-%dT%H:%M:%SZ", 
&tm_created);
+       if (cbc_msg->time.expired > 0) {
+               localtime_r(&cbc_msg->time.expired, &tm_expired);
+               strftime(str_expired, sizeof(str_expired), 
"%Y-%m-%dT%H:%M:%SZ", &tm_expired);
+       } else {
+               OSMO_STRLCPY_ARRAY(str_expired, "active");
+       }
+
+       vty_out(vty, "| %04X| %04X|%-20s|%-13s|  %-4u|%c|        
%04d|%-20s|%-20s|%s",
                smscb->message_id, smscb->serial_nr, cbc_msg->cbe_name,
                get_value_string(cbsp_category_names, cbc_msg->priority), 
cbc_msg->rep_period,
                cbc_msg->extended_cbch ? 'E' : 'N', smscb->etws.warning_type,
+               str_created, str_expired,
                VTY_NEWLINE);
 }

@@ -292,9 +320,11 @@
        struct cbc_message *cbc_msg;

        vty_out(vty,
-"|MsgId|SerNo|      CBE Name      |  Category   |Period|E|Warning Type|%s", 
VTY_NEWLINE);
+"|MsgId|SerNo|      CBE Name      |  Category   |Period|E|Warning Type|       
Created      |       Expired      |%s",
+       VTY_NEWLINE);
        vty_out(vty,
-"|-----|-----|--------------------|-------------|------|-|------------|%s", 
VTY_NEWLINE);
+"|-----|-----|--------------------|-------------|------|-|------------|--------------------|--------------------|%s",
+       VTY_NEWLINE);

        llist_for_each_entry(cbc_msg, &g_cbc->messages, list) {
                if (!cbc_msg->msg.is_etws)

--
To view, visit https://gerrit.osmocom.org/c/osmo-cbc/+/28785
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-cbc
Gerrit-Branch: master
Gerrit-Change-Id: I9ee49b99546a44be706700c3db94d45210c47e54
Gerrit-Change-Number: 28785
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-MessageType: merged

Reply via email to