forked from scouter-project/scouter
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAnyTrace.java
More file actions
104 lines (89 loc) · 2.72 KB
/
AnyTrace.java
File metadata and controls
104 lines (89 loc) · 2.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/*
* Copyright 2015 Scouter Project.
*
* 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.
*
* @author skyworker
*/
package scouter;
import scouter.agent.netio.data.DataProxy;
import scouter.agent.trace.TraceApiCall;
import scouter.agent.trace.TraceContext;
import scouter.agent.trace.TraceContextManager;
import scouter.agent.trace.TraceMain;
import scouter.lang.pack.XLogTypes;
import scouter.util.KeyGen;
public class AnyTrace {
public static void message(String name) {
TraceMain.addMessage(name);
}
public static Object startService(String name) {
return TraceMain.startService(name, null, null, null, null, null, XLogTypes.APP_SERVICE);
}
public static void setServiceName(String name) {
TraceMain.setServiceName(name);
}
public static void serviceError(String emsg) {
TraceContext ctx = TraceContextManager.getContext();
if (ctx != null && ctx.error != 0) { // already started
ctx.error = DataProxy.sendError(emsg);
}
}
public static void endService(Object stat, Throwable thr) {
TraceMain.endService(stat, null, thr);
}
public static Object startMethod(int hash, String classMethodName) {
return TraceMain.startMethod(hash, classMethodName);
}
public static void endMethod(Object stat, Throwable thr) {
TraceMain.endMethod(stat, thr);
}
public static long createTxid() {
return KeyGen.next();
}
public static Object startApicall(String name, long apiTxid) {
return TraceApiCall.startApicall(name, apiTxid);
}
public static void setApicallName(String name) {
try {
TraceContext ctx = TraceContextManager.getContext();
if (ctx != null) {
if (ctx.apicall_name != null) { // already started subcall only
ctx.apicall_name = name;
}
}
} catch (Throwable t) {// ignore
}
}
public static void endApicall(Object stat, Throwable thr) {
TraceApiCall.endApicall(stat, null, thr);
}
public static void desc(String desc) {
try {
TraceContext ctx = TraceContextManager.getContext();
if (ctx != null) {
ctx.desc = desc;
}
} catch (Throwable t) {// ignore
}
}
public static void login(String login) {
try {
TraceContext ctx = TraceContextManager.getContext();
if (ctx != null) {
ctx.login = login;
}
} catch (Throwable t) {// ignore
}
}
}