forked from getsentry/sentry-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathISpan.java
More file actions
130 lines (112 loc) · 2.53 KB
/
ISpan.java
File metadata and controls
130 lines (112 loc) · 2.53 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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package io.sentry;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/** Represents performance monitoring Span. */
public interface ISpan {
/**
* Starts a child Span.
*
* @param operation - new span operation name
* @return a new transaction span
*/
@NotNull
ISpan startChild(@NotNull String operation);
/**
* Starts a child Span.
*
* @param operation - new span operation name
* @param description - new span description name
* @return a new transaction span
*/
@NotNull
ISpan startChild(@NotNull String operation, @Nullable String description);
/**
* Returns a string that could be sent as a sentry-trace header.
*
* @return SentryTraceHeader.
*/
@NotNull
SentryTraceHeader toSentryTrace();
/** Sets span timestamp marking this span as finished. */
void finish();
/**
* Sets span timestamp marking this span as finished.
*
* @param status - the status
*/
void finish(@Nullable SpanStatus status);
/**
* Sets span operation.
*
* @param operation - the operation
*/
void setOperation(@NotNull String operation);
/**
* Returns the span operation.
*
* @return the operation
*/
@NotNull
String getOperation();
/**
* Sets span description.
*
* @param description - the description.
*/
void setDescription(@Nullable String description);
/**
* Returns the span description.
*
* @return the description
*/
@Nullable
String getDescription();
/**
* Sets span status.
*
* @param status - the status.
*/
void setStatus(@Nullable SpanStatus status);
/**
* Returns the span status
*
* @return the status
*/
@Nullable
SpanStatus getStatus();
/**
* Sets the throwable that was thrown during the execution of the span.
*
* @param throwable - the throwable.
*/
void setThrowable(@Nullable Throwable throwable);
/**
* Gets the throwable that was thrown during the execution of the span.
*
* @return throwable or {@code null} if none
*/
@Nullable
Throwable getThrowable();
/**
* Gets the span context.
*
* @return the span context
*/
@NotNull
SpanContext getSpanContext();
/**
* Sets the tag on span or transaction.
*
* @param key the tag key
* @param value the tag value
*/
void setTag(@NotNull String key, @NotNull String value);
@Nullable
String getTag(@NotNull String key);
/**
* Returns if span has finished.
*
* @return if span has finished.
*/
boolean isFinished();
}