Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
DiagnosticCounter.cs
Go to the documentation of this file.
1
using
System.Collections.Generic
;
2
using
System.Runtime.Versioning
;
3
using
System.Text
;
4
5
namespace
System.Diagnostics.Tracing
;
6
7
[
UnsupportedOSPlatform
(
"browser"
)]
8
public
abstract
class
DiagnosticCounter
:
IDisposable
9
{
10
private
string
_displayName
=
""
;
11
12
private
string
_displayUnits
=
""
;
13
14
private
CounterGroup
_group
;
15
16
private
Dictionary<string, string>
_metadata
;
17
18
public
string
DisplayName
19
{
20
get
21
{
22
return
_displayName
;
23
}
24
set
25
{
26
if
(
value
==
null
)
27
{
28
throw
new
ArgumentNullException
(
"DisplayName"
);
29
}
30
_displayName
=
value
;
31
}
32
}
33
34
public
string
DisplayUnits
35
{
36
get
37
{
38
return
_displayUnits
;
39
}
40
set
41
{
42
if
(
value
==
null
)
43
{
44
throw
new
ArgumentNullException
(
"DisplayUnits"
);
45
}
46
_displayUnits
=
value
;
47
}
48
}
49
50
public
string
Name
{
get
; }
51
52
public
EventSource
EventSource
{
get
; }
53
54
internal
DiagnosticCounter
(
string
name,
EventSource
eventSource)
55
{
56
if
(name ==
null
)
57
{
58
throw
new
ArgumentNullException
(
"Name"
);
59
}
60
if
(eventSource ==
null
)
61
{
62
throw
new
ArgumentNullException
(
"EventSource"
);
63
}
64
Name
= name;
65
EventSource
= eventSource;
66
}
67
68
private
protected
void
Publish
()
69
{
70
_group
=
CounterGroup
.
GetCounterGroup
(
EventSource
);
71
_group
.
Add
(
this
);
72
}
73
74
public
void
Dispose
()
75
{
76
if
(
_group
!=
null
)
77
{
78
_group
.
Remove
(
this
);
79
_group
=
null
;
80
}
81
}
82
83
public
void
AddMetadata
(
string
key
,
string
?
value
)
84
{
85
lock
(
this
)
86
{
87
if
(
_metadata
==
null
)
88
{
89
_metadata
=
new
Dictionary<string, string>
();
90
}
91
_metadata
.
Add
(
key
,
value
);
92
}
93
}
94
95
internal
abstract
void
WritePayload
(
float
intervalSec
,
int
pollingIntervalMillisec
);
96
97
internal
void
ReportOutOfBandMessage
(
string
message)
98
{
99
EventSource
.
ReportOutOfBandMessage
(message);
100
}
101
102
internal
string
GetMetadataString
()
103
{
104
if
(
_metadata
==
null
)
105
{
106
return
""
;
107
}
108
Dictionary<string, string>
.
Enumerator
enumerator
=
_metadata
.
GetEnumerator
();
109
bool
flag =
enumerator
.MoveNext();
110
KeyValuePair<string, string>
current =
enumerator
.Current;
111
if
(!
enumerator
.MoveNext())
112
{
113
return
current.Key +
":"
+ current.Value;
114
}
115
StringBuilder
stringBuilder
=
new
StringBuilder
().
Append
(current.Key).
Append
(
':'
).
Append
(current.Value);
116
do
117
{
118
current =
enumerator
.Current;
119
stringBuilder
.Append(
','
).Append(current.Key).Append(
':'
)
120
.Append(current.Value);
121
}
122
while
(
enumerator
.MoveNext());
123
return
stringBuilder
.ToString();
124
}
125
}
System.ArgumentNullException
Definition
ArgumentNullException.cs:10
System.Collections.Generic.Dictionary.GetEnumerator
Enumerator GetEnumerator()
Definition
Dictionary.cs:984
System.Collections.Generic.Dictionary.Add
void Add(TKey key, TValue value)
Definition
Dictionary.cs:873
System.Collections.Generic.Dictionary
Definition
Dictionary.cs:14
System.Diagnostics.Tracing.CounterGroup.GetCounterGroup
static CounterGroup GetCounterGroup(EventSource eventSource)
Definition
CounterGroup.cs:93
System.Diagnostics.Tracing.CounterGroup.Remove
void Remove(DiagnosticCounter eventCounter)
Definition
CounterGroup.cs:45
System.Diagnostics.Tracing.CounterGroup.Add
void Add(DiagnosticCounter eventCounter)
Definition
CounterGroup.cs:37
System.Diagnostics.Tracing.CounterGroup
Definition
CounterGroup.cs:9
System.Diagnostics.Tracing.DiagnosticCounter.WritePayload
void WritePayload(float intervalSec, int pollingIntervalMillisec)
System.Diagnostics.Tracing.DiagnosticCounter.DisplayUnits
string DisplayUnits
Definition
DiagnosticCounter.cs:35
System.Diagnostics.Tracing.DiagnosticCounter._metadata
Dictionary< string, string > _metadata
Definition
DiagnosticCounter.cs:16
System.Diagnostics.Tracing.DiagnosticCounter.DisplayName
string DisplayName
Definition
DiagnosticCounter.cs:19
System.Diagnostics.Tracing.DiagnosticCounter.Dispose
void Dispose()
Definition
DiagnosticCounter.cs:74
System.Diagnostics.Tracing.DiagnosticCounter._displayUnits
string _displayUnits
Definition
DiagnosticCounter.cs:12
System.Diagnostics.Tracing.DiagnosticCounter._group
CounterGroup _group
Definition
DiagnosticCounter.cs:14
System.Diagnostics.Tracing.DiagnosticCounter.Publish
void Publish()
Definition
DiagnosticCounter.cs:68
System.Diagnostics.Tracing.DiagnosticCounter.Name
string Name
Definition
DiagnosticCounter.cs:50
System.Diagnostics.Tracing.DiagnosticCounter._displayName
string _displayName
Definition
DiagnosticCounter.cs:10
System.Diagnostics.Tracing.DiagnosticCounter.DiagnosticCounter
DiagnosticCounter(string name, EventSource eventSource)
Definition
DiagnosticCounter.cs:54
System.Diagnostics.Tracing.DiagnosticCounter.AddMetadata
void AddMetadata(string key, string? value)
Definition
DiagnosticCounter.cs:83
System.Diagnostics.Tracing.DiagnosticCounter.GetMetadataString
string GetMetadataString()
Definition
DiagnosticCounter.cs:102
System.Diagnostics.Tracing.DiagnosticCounter.ReportOutOfBandMessage
void ReportOutOfBandMessage(string message)
Definition
DiagnosticCounter.cs:97
System.Diagnostics.Tracing.DiagnosticCounter
Definition
DiagnosticCounter.cs:9
System.Diagnostics.Tracing.EventSource.ReportOutOfBandMessage
void ReportOutOfBandMessage(string msg)
Definition
EventSource.cs:2704
System.Diagnostics.Tracing.EventSource
Definition
EventSource.cs:19
System.Text.StringBuilder.Append
StringBuilder Append(char value, int repeatCount)
Definition
StringBuilder.cs:744
System.Text.StringBuilder
Definition
StringBuilder.cs:14
System.IDisposable
Definition
IDisposable.cs:4
System.Collections.Generic
Definition
IHashKeyCollection.cs:1
System.Diagnostics.Tracing
Definition
ActivityTracker.cs:4
System.Runtime.Versioning
Definition
NonVersionableAttribute.cs:1
System.Text
Definition
ConsoleEncoding.cs:1
System.ExceptionArgument.value
@ value
System.ExceptionArgument.key
@ key
System.Collections.Generic.Dictionary.Enumerator
Definition
Dictionary.cs:137
source
System.Private.CoreLib
System.Diagnostics.Tracing
DiagnosticCounter.cs
Generated by
1.10.0