aboutsummaryrefslogtreecommitdiffstats
path: root/src/framework/include/nstack_trace.h
diff options
context:
space:
mode:
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