]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
2 | // vim: ts=8 sw=2 smarttab | |
3 | #ifndef COMMON_ZIPKIN_TRACE_H | |
4 | #define COMMON_ZIPKIN_TRACE_H | |
5 | ||
7c673cae | 6 | #include "acconfig.h" |
31f18b77 | 7 | #include "include/encoding.h" |
7c673cae FG |
8 | |
9 | #ifdef WITH_BLKIN | |
10 | ||
11 | #include <ztracer.hpp> | |
12 | ||
13 | #else // !WITH_BLKIN | |
14 | ||
15 | // add stubs for noop Trace and Endpoint | |
16 | ||
17 | // match the "real" struct | |
18 | struct blkin_trace_info { | |
19 | int64_t trace_id; | |
20 | int64_t span_id; | |
21 | int64_t parent_span_id; | |
22 | }; | |
23 | ||
24 | namespace ZTracer | |
25 | { | |
26 | static inline int ztrace_init() { return 0; } | |
27 | ||
28 | class Endpoint { | |
29 | public: | |
30 | Endpoint(const char *name) {} | |
31 | Endpoint(const char *ip, int port, const char *name) {} | |
32 | ||
33 | void copy_ip(const std::string &newip) {} | |
34 | void copy_name(const std::string &newname) {} | |
35 | void copy_address_from(const Endpoint *endpoint) {} | |
36 | void share_address_from(const Endpoint *endpoint) {} | |
37 | void set_port(int p) {} | |
38 | }; | |
39 | ||
40 | class Trace { | |
41 | public: | |
42 | Trace() {} | |
43 | Trace(const char *name, const Endpoint *ep, const Trace *parent = NULL) {} | |
44 | Trace(const char *name, const Endpoint *ep, | |
45 | const blkin_trace_info *i, bool child=false) {} | |
46 | ||
47 | bool valid() const { return false; } | |
48 | operator bool() const { return false; } | |
49 | ||
50 | int init(const char *name, const Endpoint *ep, const Trace *parent = NULL) { | |
51 | return 0; | |
52 | } | |
53 | int init(const char *name, const Endpoint *ep, | |
54 | const blkin_trace_info *i, bool child=false) { | |
55 | return 0; | |
56 | } | |
57 | ||
58 | void copy_name(const std::string &newname) {} | |
59 | ||
60 | const blkin_trace_info* get_info() const { return NULL; } | |
61 | void set_info(const blkin_trace_info *i) {} | |
62 | ||
63 | void keyval(const char *key, const char *val) const {} | |
64 | void keyval(const char *key, int64_t val) const {} | |
65 | void keyval(const char *key, const char *val, const Endpoint *ep) const {} | |
66 | void keyval(const char *key, int64_t val, const Endpoint *ep) const {} | |
67 | ||
68 | void event(const char *event) const {} | |
69 | void event(const char *event, const Endpoint *ep) const {} | |
70 | }; | |
71 | } // namespace ZTrace | |
72 | ||
73 | #endif // !WITH_BLKIN | |
74 | ||
75 | static inline void encode(const blkin_trace_info& b, bufferlist& bl) | |
76 | { | |
11fdf7f2 TL |
77 | encode(b.trace_id, bl); |
78 | encode(b.span_id, bl); | |
79 | encode(b.parent_span_id, bl); | |
7c673cae FG |
80 | } |
81 | ||
11fdf7f2 | 82 | static inline void decode(blkin_trace_info& b, bufferlist::const_iterator& p) |
7c673cae | 83 | { |
11fdf7f2 TL |
84 | decode(b.trace_id, p); |
85 | decode(b.span_id, p); | |
86 | decode(b.parent_span_id, p); | |
7c673cae FG |
87 | } |
88 | ||
89 | ||
90 | ||
91 | #endif // COMMON_ZIPKIN_TRACE_H |