summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/include/sc_trace.h21
-rw-r--r--service/src/node_bfd.c3
-rw-r--r--service/src/node_bridge.c6
-rw-r--r--service/src/node_classifier.c3
-rw-r--r--service/src/node_eth_egress.c3
-rw-r--r--service/src/node_eth_ingress.c3
-rw-r--r--service/src/node_etherfabric.c9
-rw-r--r--service/src/node_forwarder.c3
-rw-r--r--service/src/node_health_check.c6
-rw-r--r--service/src/node_lb.c3
-rw-r--r--service/src/node_phydev.c6
-rw-r--r--service/src/node_shmdev.c3
-rw-r--r--service/src/node_tera.c6
-rw-r--r--service/src/node_vwire.c11
14 files changed, 39 insertions, 47 deletions
diff --git a/service/include/sc_trace.h b/service/include/sc_trace.h
index 7effd13..0db254b 100644
--- a/service/include/sc_trace.h
+++ b/service/include/sc_trace.h
@@ -38,8 +38,7 @@ static inline void gen_store_trace_info_pkt_parser(struct rte_node * node, struc
len += snprintf(str_record + len, sizeof(str_record) - len, "]");
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -58,8 +57,7 @@ static inline void gen_store_trace_info_rte_mbuf(struct rte_node * node, struct
#endif
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -84,8 +82,7 @@ static inline void gen_store_trace_info_sid_list(struct rte_node * node, struct
len += snprintf(str_record + len, sizeof(str_record) - len, "]]");
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -127,8 +124,7 @@ static inline void gen_store_trace_info_rx(struct rte_node * node, struct rte_mb
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -141,7 +137,7 @@ static inline void gen_store_telemetry_info_rx(struct rte_node * node, struct rt
snprintf(str_record, sizeof(str_record), "interface(rx) = %s, qid = %u", dev_desc->symbol, queue_id);
/* Emit the trace record */
- struct dp_trace_record_meta meta = {.type = DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, .appsym = MR_TRACE_APPSYM};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -155,8 +151,7 @@ static inline void gen_store_trace_info_tx(struct rte_node * node, struct rte_mb
rte_lcore_id(), queue_id, mbuf->hash.usr);
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -169,7 +164,7 @@ static inline void gen_store_telemetry_info_tx(struct rte_node * node, struct rt
snprintf(str_record, sizeof(str_record), "interface(tx) = %s, qid = %u", dev_desc->symbol, queue_id);
/* Emit the trace record */
- struct dp_trace_record_meta meta = {.type = DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, .appsym = MR_TRACE_APPSYM};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -193,6 +188,6 @@ static __rte_always_inline void gen_store_telemetry_info_adapter(struct rte_mbuf
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {.type = DP_TRACE_MEASUREMENT_TYPE_TELEMETRY, .appsym = MR_TRACE_APPSYM};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
diff --git a/service/src/node_bfd.c b/service/src/node_bfd.c
index 4553938..c254846 100644
--- a/service/src/node_bfd.c
+++ b/service/src/node_bfd.c
@@ -173,8 +173,7 @@ static __rte_always_inline void gen_store_trace_info(struct rte_node * node, str
len += snprintf(str_record + len, sizeof(str_record) - len, ", bfd state:%u", bfd_state);
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
diff --git a/service/src/node_bridge.c b/service/src/node_bridge.c
index 602c2df..1068e99 100644
--- a/service/src/node_bridge.c
+++ b/service/src/node_bridge.c
@@ -238,8 +238,7 @@ static __rte_always_inline void gen_store_trace_info_original(struct rte_node *
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -255,8 +254,7 @@ static __rte_always_inline void gen_store_trace_info_clone(struct rte_node * nod
node->nodes[next_node_index]->name, mrb_meta->port_egress);
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
diff --git a/service/src/node_classifier.c b/service/src/node_classifier.c
index b96138a..c5fc238 100644
--- a/service/src/node_classifier.c
+++ b/service/src/node_classifier.c
@@ -399,8 +399,7 @@ static __rte_always_inline void gen_store_trace_info(struct rte_node * node, str
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
diff --git a/service/src/node_eth_egress.c b/service/src/node_eth_egress.c
index 9196c53..dd77595 100644
--- a/service/src/node_eth_egress.c
+++ b/service/src/node_eth_egress.c
@@ -88,8 +88,7 @@ static __rte_always_inline void gen_store_trace_info_egress(struct rte_node * no
mrb_meta->port_egress);
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
diff --git a/service/src/node_eth_ingress.c b/service/src/node_eth_ingress.c
index 806d46e..fc4b2b2 100644
--- a/service/src/node_eth_ingress.c
+++ b/service/src/node_eth_ingress.c
@@ -453,8 +453,7 @@ static __rte_always_inline void gen_store_trace_info_ingress(struct rte_node * n
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
diff --git a/service/src/node_etherfabric.c b/service/src/node_etherfabric.c
index 14ae9b2..74865e1 100644
--- a/service/src/node_etherfabric.c
+++ b/service/src/node_etherfabric.c
@@ -520,8 +520,7 @@ static __rte_always_inline void gen_store_trace_info_ingress(struct rte_node * n
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -776,8 +775,7 @@ static __rte_always_inline void gen_store_trace_info_egress(struct rte_node * no
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -865,7 +863,10 @@ static __rte_always_inline uint16_t ef_egress_node_process(struct rte_graph * gr
{
gen_store_trace_info_egress(node, mbuf, next_node_index, drop_reason);
// gen_store_trace_info_rte_mbuf(node, mbuf);
+ }
+ if (unlikely(dp_trace_record_can_emit(mbuf, DP_TRACE_MEASUREMENT_TYPE_TELEMETRY)))
+ {
gen_store_telemetry_info_adapter(mbuf);
}
diff --git a/service/src/node_forwarder.c b/service/src/node_forwarder.c
index 58cf11a..73032bd 100644
--- a/service/src/node_forwarder.c
+++ b/service/src/node_forwarder.c
@@ -128,8 +128,7 @@ static __rte_always_inline void gen_store_trace_info(struct rte_node * node, str
len += embed_sid_info(mbuf, str_record + len, sizeof(str_record) - len);
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
diff --git a/service/src/node_health_check.c b/service/src/node_health_check.c
index c93bb1d..8db9a9f 100644
--- a/service/src/node_health_check.c
+++ b/service/src/node_health_check.c
@@ -655,8 +655,7 @@ static __rte_always_inline void gen_store_trace_info_ask_node(struct rte_node *
node->nodes[next_node_index]->name, rte_lcore_id(), session->name, session->port_id, session->device);
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -779,8 +778,7 @@ static __rte_always_inline void gen_store_trace_info_answer_node(struct rte_node
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
diff --git a/service/src/node_lb.c b/service/src/node_lb.c
index 53e528e..79058b6 100644
--- a/service/src/node_lb.c
+++ b/service/src/node_lb.c
@@ -476,8 +476,7 @@ static __rte_always_inline void gen_store_trace_info(struct rte_node * node, str
snprintf(str_record + len, sizeof(str_record) - len, ", cur sid:%u, lb id:%u", lb_group->sid, lb_group->index);
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
diff --git a/service/src/node_phydev.c b/service/src/node_phydev.c
index 892793d..39c16f0 100644
--- a/service/src/node_phydev.c
+++ b/service/src/node_phydev.c
@@ -535,7 +535,10 @@ static __rte_always_inline uint16_t dpdk_dev_rx_node_process(struct rte_graph *
{
gen_store_trace_info_rx(node, mbuf, dev_desc, qid);
gen_store_trace_info_pkt_parser(node, mbuf);
+ }
+ if (unlikely(dp_trace_record_can_emit(mbuf, DP_TRACE_MEASUREMENT_TYPE_TELEMETRY)))
+ {
gen_store_telemetry_info_rx(node, mbuf, dev_desc, qid);
}
}
@@ -654,7 +657,10 @@ static __rte_always_inline uint16_t dpdk_dev_tx_node_process(struct rte_graph *
{
gen_store_trace_info_tx(node, mbuf, dev_desc, graph->id);
// gen_store_trace_info_rte_mbuf(node, mbuf);
+ }
+ if (unlikely(dp_trace_record_can_emit(mbuf, DP_TRACE_MEASUREMENT_TYPE_TELEMETRY)))
+ {
gen_store_telemetry_info_tx(node, mbuf, dev_desc, graph->id);
}
dp_trace_record_write(sc_main_get()->trace, mbuf, rte_lcore_id());
diff --git a/service/src/node_shmdev.c b/service/src/node_shmdev.c
index fd83151..d840866 100644
--- a/service/src/node_shmdev.c
+++ b/service/src/node_shmdev.c
@@ -55,8 +55,7 @@ static __rte_always_inline void gen_store_trace_info(struct rte_node * node, str
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
diff --git a/service/src/node_tera.c b/service/src/node_tera.c
index 35f0f07..85abf1e 100644
--- a/service/src/node_tera.c
+++ b/service/src/node_tera.c
@@ -351,8 +351,7 @@ static __rte_always_inline void gen_store_trace_info_ingress(struct rte_node * n
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -528,8 +527,7 @@ static __rte_always_inline void gen_store_trace_info_egress(struct rte_node * no
mrb_meta->adapter_id, mrb_meta->port_egress);
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
diff --git a/service/src/node_vwire.c b/service/src/node_vwire.c
index 0c17414..25decc8 100644
--- a/service/src/node_vwire.c
+++ b/service/src/node_vwire.c
@@ -1,5 +1,6 @@
#include "sc_trace.h"
#include <cJSON.h>
+#include <rte_branch_prediction.h>
#include <rte_debug.h>
#include <rte_ethdev.h>
#include <rte_ether.h>
@@ -131,8 +132,7 @@ static __rte_always_inline void gen_store_trace_info_ingress(struct rte_node * n
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}
@@ -204,6 +204,10 @@ static __rte_always_inline uint16_t vwire_ingress_node_process(struct rte_graph
{
gen_store_trace_info_ingress(node, mbuf0, next0, prepend_sid);
// gen_store_trace_info_sid_list(node, mbuf0);
+ }
+
+ if (unlikely(dp_trace_record_can_emit(mbuf0, DP_TRACE_MEASUREMENT_TYPE_TELEMETRY)))
+ {
gen_store_telemetry_info_adapter(mbuf0);
}
@@ -267,8 +271,7 @@ static __rte_always_inline void gen_store_trace_info_egress(struct rte_node * no
}
/* Emit the trace record */
- struct dp_trace_record_meta meta = {
- .type = DP_TRACE_MEASUREMENT_TYPE_TRACE, .appsym = MR_TRACE_APPSYM, .module = node->name};
+ struct dp_trace_record_meta meta = {.appsym = MR_TRACE_APPSYM, .module = node->name};
dp_trace_record_emit_str(sc_main_get()->trace, mbuf, rte_lcore_id(), &meta, str_record);
}