Terraria
v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
RateAggregator.cs
Go to the documentation of this file.
1
namespace
System.Diagnostics.Metrics
;
2
3
internal
sealed
class
RateAggregator
:
Aggregator
4
{
5
private
double
?
_prevValue
;
6
7
private
double
_value
;
8
9
public
override
void
Update
(
double
value
)
10
{
11
lock (
this
)
12
{
13
_value
=
value
;
14
}
15
}
16
17
public
override
IAggregationStatistics
Collect
()
18
{
19
lock (
this
)
20
{
21
double
? delta =
null
;
22
if
(
_prevValue
.HasValue)
23
{
24
delta =
_value
-
_prevValue
.Value;
25
}
26
RateStatistics
result =
new
RateStatistics
(delta);
27
_prevValue
=
_value
;
28
return
result;
29
}
30
}
31
}
System.Diagnostics.Metrics.Aggregator
Definition
Aggregator.cs:4
System.Diagnostics.Metrics.RateAggregator._prevValue
double? _prevValue
Definition
RateAggregator.cs:5
System.Diagnostics.Metrics.RateAggregator.Collect
override IAggregationStatistics Collect()
Definition
RateAggregator.cs:17
System.Diagnostics.Metrics.RateAggregator.Update
override void Update(double value)
Definition
RateAggregator.cs:9
System.Diagnostics.Metrics.RateAggregator._value
double _value
Definition
RateAggregator.cs:7
System.Diagnostics.Metrics.RateAggregator
Definition
RateAggregator.cs:4
System.Diagnostics.Metrics.RateStatistics
Definition
RateStatistics.cs:4
System.Diagnostics.Metrics.IAggregationStatistics
Definition
IAggregationStatistics.cs:4
System.Diagnostics.Metrics
Definition
AggregationManager.cs:6
System.ExceptionArgument.value
@ value
source
System.Diagnostics.DiagnosticSource
System.Diagnostics.Metrics
RateAggregator.cs
Generated by
1.10.0