summaryrefslogtreecommitdiffstats
path: root/src/framework/include/nstack_trace.h
diff options
context:
space:
mode:
authorqchang <qing.chang1@huawei.com>2018-03-08 17:39:22 -0800
committerqchang <qing.chang1@huawei.com>2018-03-08 17:39:22 -0800
commit697ade6190b23c80e7f60963983786e679759393 (patch)
treedd9782d1e936b8342163b26795e23571d4b1b415 /src/framework/include/nstack_trace.h
parent71a4e2f34afa8018426f0e830050e50a1de6d375 (diff)
dmm initial commit
Change-Id: I049ee277cf4efdb83f9c2ac439365fcd421c159b Signed-off-by: qchang <qing.chang1@huawei.com>
Diffstat (limited to 'src/framework/include/nstack_trace.h')
-rw-r--r--src/framework/include/nstack_trace.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/framework/include/nstack_trace.h b/src/framework/include/nstack_trace.h
new file mode 100644
index 0000000..0f4f640
--- /dev/null
+++ b/src/framework/include/nstack_trace.h
@@ -0,0 +1,76 @@
+/*
+*
+* Copyright (c) 2018 Huawei Technologies Co.,Ltd.
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at:
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* 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.
+*/
+
+#ifndef __NSTACK_TRACE_H__
+#define __NSTACK_TRACE_H__
+
+#ifdef __cplusplus
+/* *INDENT-OFF* */
+extern "C"{
+/* *INDENT-ON* */
+#endif
+
+/*==============================================*
+ * include header files *
+ *----------------------------------------------*/
+#include "types.h"
+#include "nstack_log.h"
+#include <time.h>
+#define SPAN_NAME_MAX 64
+#define TRACE_NULL 0
+#define NSTACK_TRACE_ON 0
+#define NSTACK_TRACE_OFF 1
+
+typedef struct nst_trace_header
+{
+ u64 trace_id;
+ u64 span_pid;
+ u64 span_id; /*now us */
+ int fd;
+ int thread_id;
+} trace_hread_t;
+
+typedef struct nst_trace_fun
+{
+ u64 (*current_traceid) ();
+ void (*span_raw) (char *msg);
+ void (*tracing_enable) (int enable);
+ void (*tracing_simpling) (int frequency);
+ void (*tracing_cleanup) ();
+ void (*tracing_setup) (u32 process);
+ u64 (*tracing_string_to_traceid) (const char *input, size_t length);
+} trace_fun_t;
+
+extern __thread struct nst_trace_header strace_header;
+
+#define get_trace_header() (&strace_header)
+
+//For Tracing define own tracing feature.
+#define nstack_trace_init( a )
+#define nstack_set_tracing_contex( a,b,c)
+#define nstack_get_tracing_contex(traceid,spanid,spanpid,fd)
+#define nstack_clear_tracing_contex( )
+#define NSTACK_TRACING(level, module_name,famt,...)
+#define nstack_tracing_enalbe()
+#define nstack_get_traceid() (NULL)
+
+#ifdef __cplusplus
+/* *INDENT-OFF* */
+}
+/* *INDENT-ON* */
+#endif
+
+#endif