@Generated(value="com.neeve.adm.AdmXbufGenerator", date="Fri Dec 05 13:32:50 UTC 2025") @AdmGenerated(encoding="Xbuf", compatLevel="4.1.0", admVersion="Unknown Version", date="12/5/25 1:32 PM", buildInfo="nvx-talon-3.16.63 (nvx-codegen-plugin)") @AdmFactoryInfo(factoryClass=SrvMonFactory.class, vfid=32, ofid=32, typeId=228) public final class SrvMonLongSeries extends Object implements com.neeve.xbuf.IXbufDesyncer, UtlPool.Item<SrvMonLongSeries>, ISrvMonLongSeries
SrvMonLongSeries reports interval and running histogram data for a series of long data points. It may also be used to report the captured datapoints, but because reporting the raw data is costly both in terms of collection and size/bandwidth the captured values are typically not reported. SrvMonLongSeries is frequently used to capture measured latency timings, but can also be used to capture any long data series.
| ADM Type | Embedded Entity |
| Factory | SrvMonFactory |
| ADM Field Summary |
|---|
| Field | Type | Id | Description |
|---|---|---|---|
| dataPoints | Long[] | 16 |
Holds the collected raw data points (when reported).
When the XVM is configured to include the capture data points for the statistic, the returned array will include the values collected during this interval. This allows monitoring tools to perform non lossy calculation of percentiles providing now data points were skipped due to under sampling or a missed heartbeat. Then number of valid values in the returned array is dictated by numDataPoints, if the length of the values array is longer than numDataPoints subsequent values in the array should be ignored. |
| intervalStats | SrvMonLongHistogram |
19 |
Computed latency statistics for the collection period corresponding to this heartbeat.
Hold computed results for the datpoints captured for this heartbeat (e.g. for the numDataPoints captured). This field may not be set if numDataPoints is 0 or if interval computations are not done on the XVM. |
| lastSequenceNumber | Long | 17 |
The sequence number of the last data point collected or 0 if no data points have been collected.
Sequence numbers for collected data points start at 1, a value of 0 indicates that no data points have been collected. The Sequence Number always indicates the number or data points that have been collected since the statistic has been created or was last reset. If the statistic is reset then this value will reset to 0, when |
| numDataPoints | Integer | 18 |
The number of data points collected in this interval.
Indicates the number of data points collected in this interval. If no data points were collected numDataPoints will be 0. The sequence number of the first value collected in this interval can be determined by subtracting numDataPoints from lastSequenceNumber. This can be used to determine if two consecutive datapoints have skipped data points due to under sampling or a missing heartbeat. |
| runningStats | SrvMonLongHistogram |
20 |
Computed latency statistics over the lifetime of the metric being collected.
Hold computed results for the datpoints over the lifetime of this statistics (e.g. since seqNo 1). If the underlying statistic is reset then the running stats are also corresponding reset. |
| skippedDatapoints | Long | 21 |
The number of data points skipped due to undersampling.
The runtime only holds on to a fixed number of data points for any particular statistic. If the sampling interval is too high then some datapoints may be skipped. For example let's say Latency stats are configured to hold on to a sample size of 1000 datapoints. If the number of data points being captured per second is 2000, and the stats collection interval is 1 second then on each collection, 1000 datapoints will be missed which will skew results. The skipped data points counter thus indicates how many datapoints have been missed in the reported runningStats. And if the count grows over two successive heartbeats indicates that the values the intervalStats don't reflect all the activity since the last interval. The skipped data points counter is a running counter ... it tracks the total number of data points that have been skipped since the underlying statistic was last reset. |
| Modifier and Type | Class and Description |
|---|---|
static class |
SrvMonLongSeries.Field
The SrvMonLongSeries xbuf field (used internally when this entity is used as a field of another entity).
|
static class |
SrvMonLongSeries.ListField
The SrvMonLongSeries list field (used internally when this entity is used as an array field of another entity).
|
| Modifier and Type | Field and Description |
|---|---|
static SrvMonLongSeries[] |
EMPTY_ARRAY
A preallocated empty array used to avoid garbage when returning empty arrays of this type.
|
| Constructor and Description |
|---|
SrvMonLongSeries() |
SrvMonLongSeries(int initialBackingBufferSize) |
| Modifier and Type | Method and Description |
|---|---|
SrvMonLongSeries |
acquire() |
void |
addDataPoints(long val)
Adds the provided value to the list of 'dataPoints' values.
|
void |
clearContent() |
void |
clearDataPoints()
Clears the value of 'dataPoints'.
|
void |
clearIntervalStats()
Clears the value of 'intervalStats'.
|
void |
clearLastSequenceNumber()
Clears the value of 'lastSequenceNumber'.
|
void |
clearNumDataPoints()
Clears the value of 'numDataPoints'.
|
void |
clearRunningStats()
Clears the value of 'runningStats'.
|
void |
clearSkippedDatapoints()
Clears the value of 'skippedDatapoints'.
|
void |
clearXRogType() |
Object |
clone()
Creates a clone of this object.
|
SrvMonLongSeries |
copy()
Creates a copy of this SrvMonLongSeries.
|
void |
copyInto(SrvMonLongSeries copy)
Copies the contents of this SrvMonLongSeries into the target.
|
static SrvMonLongSeries |
create() |
static com.neeve.xbuf.XbufRepeatedLongFieldBuffer |
createDataPointsFieldBuffer(int initialBufferLength,
boolean isNative)
Returns a wrapped buffer that can be used for doing an efficient bulk
copy from an XIterator returned for this field.
|
static SrvMonLongSeries |
createFrom(byte[] serializedContainer) |
static SrvMonLongSeries |
createFrom(byte[] serializedContainer,
com.neeve.xbuf.XbufDesyncPolicy desyncPolicy) |
static SrvMonLongSeries |
createFromSerializedXbufContainer(byte[] serializedContainer) |
static SrvMonLongSeries |
createFromSerializedXbufContainer(byte[] serializedContainer,
com.neeve.xbuf.XbufDesyncPolicy desyncPolicy) |
static com.neeve.xbuf.XbufSchema |
createSchema() |
SrvMonLongSeries |
deserializeFromByteArray(byte[] array) |
SrvMonLongSeries |
deserializeFromByteArray(byte[] array,
com.neeve.xbuf.XbufDesyncPolicy desyncPolicy) |
SrvMonLongSeries |
deserializeFromByteBuffer(ByteBuffer buffer) |
SrvMonLongSeries |
deserializeFromByteBuffer(ByteBuffer buffer,
com.neeve.xbuf.XbufDesyncPolicy desyncPolicy) |
SrvMonLongSeries |
deserializeFromIOElasticBuffer(com.neeve.io.IOElasticBuffer buffer,
int offset,
int length) |
SrvMonLongSeries |
deserializeFromIOElasticBuffer(com.neeve.io.IOElasticBuffer buffer,
int offset,
int length,
com.neeve.xbuf.XbufDesyncPolicy desyncPolicy) |
SrvMonLongSeries |
deserializeFromNative(long address,
int offset,
int length) |
SrvMonLongSeries |
deserializeFromNative(long address,
int offset,
int length,
com.neeve.xbuf.XbufDesyncPolicy desyncPolicy) |
int |
desync(PktBuffer buffer,
int pos,
boolean frameOnly)
Desync fields from a buffer
|
void |
desyncFieldBitmask() |
void |
dispose() |
PktBuffer |
getBackingBuffer() |
long[] |
getDataPoints()
Gets the value of 'dataPoints'.
|
long[] |
getDataPointsEmptyIfNull()
Gets the value of 'dataPoints' or an empty array if the value is
null or not set. |
static int |
getDataPointsFieldId() |
XLongIterator |
getDataPointsIterator()
Gets the value of 'dataPoints' as iterator of values.
|
static com.neeve.xbuf.XbufDesyncPolicy |
getDesyncPolicy() |
SrvMonLongHistogram |
getIntervalStats()
Gets the value of 'intervalStats'.
|
static int |
getIntervalStatsFieldId() |
void |
getIntervalStatsTo(SrvMonLongHistogram to)
Copies the value of SrvMonLongHistogram into the provided value.
|
boolean |
getIsReadOnly() |
long |
getLastSequenceNumber()
Gets the value of 'lastSequenceNumber'.
|
Long |
getLastSequenceNumberAsObject()
Gets the value of 'lastSequenceNumber'.
|
com.neeve.xbuf.XbufVariableLongField |
getLastSequenceNumberField() |
static int |
getLastSequenceNumberFieldId() |
int |
getNumDataPoints()
Gets the value of 'numDataPoints'.
|
Integer |
getNumDataPointsAsObject()
Gets the value of 'numDataPoints'.
|
com.neeve.xbuf.XbufVariableIntField |
getNumDataPointsField() |
static int |
getNumDataPointsFieldId() |
int |
getOwnerCount() |
UtlPool<SrvMonLongSeries> |
getPool()
Get a pool item's pool.
|
SrvMonLongHistogram |
getRunningStats()
Gets the value of 'runningStats'.
|
static int |
getRunningStatsFieldId() |
void |
getRunningStatsTo(SrvMonLongHistogram to)
Copies the value of SrvMonLongHistogram into the provided value.
|
int |
getSerializeToNativeLength() |
long |
getSkippedDatapoints()
Gets the value of 'skippedDatapoints'.
|
Long |
getSkippedDatapointsAsObject()
Gets the value of 'skippedDatapoints'.
|
com.neeve.xbuf.XbufVariableLongField |
getSkippedDatapointsField() |
static int |
getSkippedDatapointsFieldId() |
void |
getValidationErrors(List<XString> results,
String errorPrefix)
Collects validation errors into the provided list.
|
short |
getXRogType() |
Short |
getXRogTypeAsObject() |
com.neeve.xbuf.XbufVariableShortField |
getXRogTypeField() |
static int |
getXRogTypeFieldId() |
boolean |
hasIntervalStats()
Checks for the presence of 'intervalStats'.
|
boolean |
hasLastSequenceNumber()
Checks for the presence of 'lastSequenceNumber'.
|
boolean |
hasNumDataPoints()
Checks for the presence of 'numDataPoints'.
|
boolean |
hasRunningStats()
Checks for the presence of 'runningStats'.
|
boolean |
hasSkippedDatapoints()
Checks for the presence of 'skippedDatapoints'.
|
boolean |
hasXRogType() |
SrvMonLongSeries |
init()
Initialize an item.
|
boolean |
isBufferBacked() |
boolean |
isDirty() |
boolean |
isReferenceCounted() |
boolean |
isValid()
Tests if this object has any validation errors.
|
void |
lendIntervalStats(SrvMonLongHistogram val)
'Lends' a reference of the SrvMonLongHistogram to the message for this field.
|
void |
lendRunningStats(SrvMonLongHistogram val)
'Lends' a reference of the SrvMonLongHistogram to the message for this field.
|
static void |
optimizeFor(int val) |
byte[] |
serializeToByteArray() |
ByteBuffer |
serializeToByteBuffer() |
com.neeve.io.IOBuffer |
serializeToIOBuffer(boolean useNative) |
int |
serializeToNative(long address,
int addressOffset) |
void |
setAsReadOnly() |
void |
setDataPoints(long[] val)
Sets the value of 'dataPoints'.
|
void |
setDataPointsFrom(XLongIterator val)
Sets the value of 'dataPoints' using the values from the provided iterator.
|
static void |
setDesyncPolicy(com.neeve.xbuf.XbufDesyncPolicy val) |
static void |
setFieldInterest(List<Integer> fieldIds) |
void |
setIntervalStats(SrvMonLongHistogram val)
Sets the value of 'intervalStats'.
|
void |
setLastSequenceNumber(long val)
Sets the value of 'lastSequenceNumber'.
|
void |
setLastSequenceNumberAsObject(Long val)
Sets the value of 'lastSequenceNumber'.
|
void |
setLastSequenceNumberFrom(com.neeve.xbuf.XbufVariableLongField val) |
void |
setNumDataPoints(int val)
Sets the value of 'numDataPoints'.
|
void |
setNumDataPointsAsObject(Integer val)
Sets the value of 'numDataPoints'.
|
void |
setNumDataPointsFrom(com.neeve.xbuf.XbufVariableIntField val) |
SrvMonLongSeries |
setPool(UtlPool<SrvMonLongSeries> pool)
Set a pool item's pool.
|
void |
setPreserializedFields(PktBuffer buffer) |
void |
setRunningStats(SrvMonLongHistogram val)
Sets the value of 'runningStats'.
|
void |
setSkippedDatapoints(long val)
Sets the value of 'skippedDatapoints'.
|
void |
setSkippedDatapointsAsObject(Long val)
Sets the value of 'skippedDatapoints'.
|
void |
setSkippedDatapointsFrom(com.neeve.xbuf.XbufVariableLongField val) |
void |
setXRogType(short val) |
void |
setXRogTypeAsObject(Short val) |
void |
setXRogTypeFrom(com.neeve.xbuf.XbufVariableShortField val) |
void |
sync() |
void |
syncFieldBitmask() |
SrvMonLongHistogram |
takeIntervalStats()
'Takes' a reference to the intervalStats field from the message.
|
SrvMonLongHistogram |
takeRunningStats()
'Takes' a reference to the runningStats field from the message.
|
String |
toString() |
public static final SrvMonLongSeries[] EMPTY_ARRAY
public SrvMonLongSeries()
public SrvMonLongSeries(int initialBackingBufferSize)
public static SrvMonLongSeries create()
public static SrvMonLongSeries createFromSerializedXbufContainer(byte[] serializedContainer, com.neeve.xbuf.XbufDesyncPolicy desyncPolicy)
public static SrvMonLongSeries createFromSerializedXbufContainer(byte[] serializedContainer)
public static SrvMonLongSeries createFrom(byte[] serializedContainer, com.neeve.xbuf.XbufDesyncPolicy desyncPolicy)
public static SrvMonLongSeries createFrom(byte[] serializedContainer)
public static final void setDesyncPolicy(com.neeve.xbuf.XbufDesyncPolicy val)
public static final com.neeve.xbuf.XbufDesyncPolicy getDesyncPolicy()
public final void clearContent()
public final void syncFieldBitmask()
public final void desyncFieldBitmask()
public final PktBuffer getBackingBuffer()
public static final void optimizeFor(int val)
public final void setAsReadOnly()
public final boolean getIsReadOnly()
public final void setPreserializedFields(PktBuffer buffer)
public static final int getXRogTypeFieldId()
public final void setXRogType(short val)
public final void setXRogTypeAsObject(Short val)
public final short getXRogType()
public final Short getXRogTypeAsObject()
public final void setXRogTypeFrom(com.neeve.xbuf.XbufVariableShortField val)
public final com.neeve.xbuf.XbufVariableShortField getXRogTypeField()
public final boolean hasXRogType()
public final void clearXRogType()
public static final int getLastSequenceNumberFieldId()
public final void setLastSequenceNumber(long val)
ISrvMonLongSeriesSequence numbers for collected data points start at 1, a value of 0 indicates that no data points have been collected. The Sequence Number always indicates the number or data points that have been collected since the statistic has been created or was last reset. If the statistic is reset then this value will reset to 0, when
setLastSequenceNumber in interface ISrvMonLongSeriesval - The value to set.public final void setLastSequenceNumberAsObject(Long val)
ISrvMonLongSeriesSequence numbers for collected data points start at 1, a value of 0 indicates that no data points have been collected. The Sequence Number always indicates the number or data points that have been collected since the statistic has been created or was last reset. If the statistic is reset then this value will reset to 0, when
setLastSequenceNumberAsObject in interface ISrvMonLongSeriesval - The value to set.public final long getLastSequenceNumber()
ISrvMonLongSeriesSequence numbers for collected data points start at 1, a value of 0 indicates that no data points have been collected. The Sequence Number always indicates the number or data points that have been collected since the statistic has been created or was last reset. If the statistic is reset then this value will reset to 0, when
getLastSequenceNumber in interface ISrvMonLongSeriespublic final Long getLastSequenceNumberAsObject()
ISrvMonLongSeriesSequence numbers for collected data points start at 1, a value of 0 indicates that no data points have been collected. The Sequence Number always indicates the number or data points that have been collected since the statistic has been created or was last reset. If the statistic is reset then this value will reset to 0, when
getLastSequenceNumberAsObject in interface ISrvMonLongSeriespublic final void setLastSequenceNumberFrom(com.neeve.xbuf.XbufVariableLongField val)
public final com.neeve.xbuf.XbufVariableLongField getLastSequenceNumberField()
public final boolean hasLastSequenceNumber()
ISrvMonLongSeriesSequence numbers for collected data points start at 1, a value of 0 indicates that no data points have been collected. The Sequence Number always indicates the number or data points that have been collected since the statistic has been created or was last reset. If the statistic is reset then this value will reset to 0, when
hasLastSequenceNumber in interface ISrvMonLongSeriesISrvMonLongSeries.getLastSequenceNumber()public final void clearLastSequenceNumber()
ISrvMonLongSeriesSequence numbers for collected data points start at 1, a value of 0 indicates that no data points have been collected. The Sequence Number always indicates the number or data points that have been collected since the statistic has been created or was last reset. If the statistic is reset then this value will reset to 0, when
clearLastSequenceNumber in interface ISrvMonLongSeriesISrvMonLongSeries.setLastSequenceNumber(long)public static final int getNumDataPointsFieldId()
public final void setNumDataPoints(int val)
ISrvMonLongSeriesIndicates the number of data points collected in this interval. If no data points were collected numDataPoints will be 0. The sequence number of the first value collected in this interval can be determined by subtracting numDataPoints from lastSequenceNumber. This can be used to determine if two consecutive datapoints have skipped data points due to under sampling or a missing heartbeat.
setNumDataPoints in interface ISrvMonLongSeriesval - The value to set.public final void setNumDataPointsAsObject(Integer val)
ISrvMonLongSeriesIndicates the number of data points collected in this interval. If no data points were collected numDataPoints will be 0. The sequence number of the first value collected in this interval can be determined by subtracting numDataPoints from lastSequenceNumber. This can be used to determine if two consecutive datapoints have skipped data points due to under sampling or a missing heartbeat.
setNumDataPointsAsObject in interface ISrvMonLongSeriesval - The value to set.public final int getNumDataPoints()
ISrvMonLongSeriesIndicates the number of data points collected in this interval. If no data points were collected numDataPoints will be 0. The sequence number of the first value collected in this interval can be determined by subtracting numDataPoints from lastSequenceNumber. This can be used to determine if two consecutive datapoints have skipped data points due to under sampling or a missing heartbeat.
getNumDataPoints in interface ISrvMonLongSeriespublic final Integer getNumDataPointsAsObject()
ISrvMonLongSeriesIndicates the number of data points collected in this interval. If no data points were collected numDataPoints will be 0. The sequence number of the first value collected in this interval can be determined by subtracting numDataPoints from lastSequenceNumber. This can be used to determine if two consecutive datapoints have skipped data points due to under sampling or a missing heartbeat.
getNumDataPointsAsObject in interface ISrvMonLongSeriespublic final void setNumDataPointsFrom(com.neeve.xbuf.XbufVariableIntField val)
public final com.neeve.xbuf.XbufVariableIntField getNumDataPointsField()
public final boolean hasNumDataPoints()
ISrvMonLongSeriesIndicates the number of data points collected in this interval. If no data points were collected numDataPoints will be 0. The sequence number of the first value collected in this interval can be determined by subtracting numDataPoints from lastSequenceNumber. This can be used to determine if two consecutive datapoints have skipped data points due to under sampling or a missing heartbeat.
hasNumDataPoints in interface ISrvMonLongSeriesISrvMonLongSeries.getNumDataPoints()public final void clearNumDataPoints()
ISrvMonLongSeriesIndicates the number of data points collected in this interval. If no data points were collected numDataPoints will be 0. The sequence number of the first value collected in this interval can be determined by subtracting numDataPoints from lastSequenceNumber. This can be used to determine if two consecutive datapoints have skipped data points due to under sampling or a missing heartbeat.
clearNumDataPoints in interface ISrvMonLongSeriesISrvMonLongSeries.setNumDataPoints(int)public static final int getSkippedDatapointsFieldId()
public final void setSkippedDatapoints(long val)
ISrvMonLongSeriesThe runtime only holds on to a fixed number of data points for any particular statistic. If the sampling interval is too high then some datapoints may be skipped. For example let's say Latency stats are configured to hold on to a sample size of 1000 datapoints. If the number of data points being captured per second is 2000, and the stats collection interval is 1 second then on each collection, 1000 datapoints will be missed which will skew results. The skipped data points counter thus indicates how many datapoints have been missed in the reported runningStats. And if the count grows over two successive heartbeats indicates that the values the intervalStats don't reflect all the activity since the last interval. The skipped data points counter is a running counter ... it tracks the total number of data points that have been skipped since the underlying statistic was last reset.
setSkippedDatapoints in interface ISrvMonLongSeriesval - The value to set.public final void setSkippedDatapointsAsObject(Long val)
ISrvMonLongSeriesThe runtime only holds on to a fixed number of data points for any particular statistic. If the sampling interval is too high then some datapoints may be skipped. For example let's say Latency stats are configured to hold on to a sample size of 1000 datapoints. If the number of data points being captured per second is 2000, and the stats collection interval is 1 second then on each collection, 1000 datapoints will be missed which will skew results. The skipped data points counter thus indicates how many datapoints have been missed in the reported runningStats. And if the count grows over two successive heartbeats indicates that the values the intervalStats don't reflect all the activity since the last interval. The skipped data points counter is a running counter ... it tracks the total number of data points that have been skipped since the underlying statistic was last reset.
setSkippedDatapointsAsObject in interface ISrvMonLongSeriesval - The value to set.public final long getSkippedDatapoints()
ISrvMonLongSeriesThe runtime only holds on to a fixed number of data points for any particular statistic. If the sampling interval is too high then some datapoints may be skipped. For example let's say Latency stats are configured to hold on to a sample size of 1000 datapoints. If the number of data points being captured per second is 2000, and the stats collection interval is 1 second then on each collection, 1000 datapoints will be missed which will skew results. The skipped data points counter thus indicates how many datapoints have been missed in the reported runningStats. And if the count grows over two successive heartbeats indicates that the values the intervalStats don't reflect all the activity since the last interval. The skipped data points counter is a running counter ... it tracks the total number of data points that have been skipped since the underlying statistic was last reset.
getSkippedDatapoints in interface ISrvMonLongSeriespublic final Long getSkippedDatapointsAsObject()
ISrvMonLongSeriesThe runtime only holds on to a fixed number of data points for any particular statistic. If the sampling interval is too high then some datapoints may be skipped. For example let's say Latency stats are configured to hold on to a sample size of 1000 datapoints. If the number of data points being captured per second is 2000, and the stats collection interval is 1 second then on each collection, 1000 datapoints will be missed which will skew results. The skipped data points counter thus indicates how many datapoints have been missed in the reported runningStats. And if the count grows over two successive heartbeats indicates that the values the intervalStats don't reflect all the activity since the last interval. The skipped data points counter is a running counter ... it tracks the total number of data points that have been skipped since the underlying statistic was last reset.
getSkippedDatapointsAsObject in interface ISrvMonLongSeriespublic final void setSkippedDatapointsFrom(com.neeve.xbuf.XbufVariableLongField val)
public final com.neeve.xbuf.XbufVariableLongField getSkippedDatapointsField()
public final boolean hasSkippedDatapoints()
ISrvMonLongSeriesThe runtime only holds on to a fixed number of data points for any particular statistic. If the sampling interval is too high then some datapoints may be skipped. For example let's say Latency stats are configured to hold on to a sample size of 1000 datapoints. If the number of data points being captured per second is 2000, and the stats collection interval is 1 second then on each collection, 1000 datapoints will be missed which will skew results. The skipped data points counter thus indicates how many datapoints have been missed in the reported runningStats. And if the count grows over two successive heartbeats indicates that the values the intervalStats don't reflect all the activity since the last interval. The skipped data points counter is a running counter ... it tracks the total number of data points that have been skipped since the underlying statistic was last reset.
hasSkippedDatapoints in interface ISrvMonLongSeriesISrvMonLongSeries.getSkippedDatapoints()public final void clearSkippedDatapoints()
ISrvMonLongSeriesThe runtime only holds on to a fixed number of data points for any particular statistic. If the sampling interval is too high then some datapoints may be skipped. For example let's say Latency stats are configured to hold on to a sample size of 1000 datapoints. If the number of data points being captured per second is 2000, and the stats collection interval is 1 second then on each collection, 1000 datapoints will be missed which will skew results. The skipped data points counter thus indicates how many datapoints have been missed in the reported runningStats. And if the count grows over two successive heartbeats indicates that the values the intervalStats don't reflect all the activity since the last interval. The skipped data points counter is a running counter ... it tracks the total number of data points that have been skipped since the underlying statistic was last reset.
clearSkippedDatapoints in interface ISrvMonLongSeriesISrvMonLongSeries.setSkippedDatapoints(long)public static final int getDataPointsFieldId()
public static final com.neeve.xbuf.XbufRepeatedLongFieldBuffer createDataPointsFieldBuffer(int initialBufferLength,
boolean isNative)
For example the following would result in a bulk transfer from this message
XbufRepeatedLongFieldBuffer preallocated = SrvMonLongSeries.createDataPointsFieldBuffer(1024, true); // The following would then result in a buffer copy without any iteration: preallocated.setValue(inboundMessage.getDataPointsIterator()); // The preallocated bulk copied values can then be transfered to an outbound message: outboundMessage.setDataPoints.setValueFrom(preallocated);
Bulk transfer from the backing buffer may only possible between two fields with the same id (protobuf tag) because the bulk transfered bytes are in protobuf wire format which for most repeated fields encode the field's tag for each element.
initialBufferLength - the initial size of the underlying backing buffer.isNative - Whether the backing buffer should be a native or heap buffer.public final void setDataPoints(long[] val)
ISrvMonLongSeriesWhen the XVM is configured to include the capture data points for the statistic, the returned array will include the values collected during this interval. This allows monitoring tools to perform non lossy calculation of percentiles providing now data points were skipped due to under sampling or a missed heartbeat. Then number of valid values in the returned array is dictated by numDataPoints, if the length of the values array is longer than numDataPoints subsequent values in the array should be ignored.
setDataPoints in interface ISrvMonLongSeriesval - The value to set.public final void setDataPointsFrom(XLongIterator val)
ISrvMonLongSeries
This method will call XLongIterator.toFirst() before and after setting the values, meaning
that all values from the iterator will be set and the iterator will be reset on return.
This method is zero garbage for Xbuf generated classes, and this method is optimized such that calling this with an iterator from another 'dataPoints' accessor can copy the values without iteration.
When the XVM is configured to include the capture data points for the statistic, the returned array will include the values collected during this interval. This allows monitoring tools to perform non lossy calculation of percentiles providing now data points were skipped due to under sampling or a missed heartbeat. Then number of valid values in the returned array is dictated by numDataPoints, if the length of the values array is longer than numDataPoints subsequent values in the array should be ignored.
NOTE:
Passing a null or empty iterator has the same affect as calling ISrvMonLongSeries.setDataPoints(long[]) with
a value of null.
setDataPointsFrom in interface ISrvMonLongSeriesval - the values to set.public final void addDataPoints(long val)
ISrvMonLongSeriesThis method is zero garbage for Xbuf generated classes, and this method is optimized such that calling this with an iterator from another 'dataPoints' accessor can copy the values without iteration.
For objects generated with json encoding, or transactional state entities, using this method is currently efficient than doing a bulk set. For xbuf generated messages however, this method is optimized to directly serialize to an encoded backing buffer.
When the XVM is configured to include the capture data points for the statistic, the returned array will include the values collected during this interval. This allows monitoring tools to perform non lossy calculation of percentiles providing now data points were skipped due to under sampling or a missed heartbeat. Then number of valid values in the returned array is dictated by numDataPoints, if the length of the values array is longer than numDataPoints subsequent values in the array should be ignored.
addDataPoints in interface ISrvMonLongSeriesval - the value to add.public final long[] getDataPoints()
ISrvMonLongSeries
If the field is not set this method will return null.
When the XVM is configured to include the capture data points for the statistic, the returned array will include the values collected during this interval. This allows monitoring tools to perform non lossy calculation of percentiles providing now data points were skipped due to under sampling or a missed heartbeat. Then number of valid values in the returned array is dictated by numDataPoints, if the length of the values array is longer than numDataPoints subsequent values in the array should be ignored.
getDataPoints in interface ISrvMonLongSeriesnull.public final long[] getDataPointsEmptyIfNull()
ISrvMonLongSeriesnull or not set.
When the XVM is configured to include the capture data points for the statistic, the returned array will include the values collected during this interval. This allows monitoring tools to perform non lossy calculation of percentiles providing now data points were skipped due to under sampling or a missed heartbeat. Then number of valid values in the returned array is dictated by numDataPoints, if the length of the values array is longer than numDataPoints subsequent values in the array should be ignored.
getDataPointsEmptyIfNull in interface ISrvMonLongSeriesnull if not set.ISrvMonLongSeries.getDataPoints()public final XLongIterator getDataPointsIterator()
ISrvMonLongSeriesThis method will always return a non null iterator value. The returned iterator is not threadsafe, and the caller may not hold on to it beyond the pooling lifespan of this object. Depending on the implementation, the same iterator instance may be returned by this object on each call to avoid garbage. Each time this method is called the iterator is reset by calling its toFirst() method. Callers should therefore be especially careful about calling this method while iterating on the iterator returned by this method.
This method is zero garbage for Xbuf generated classes, and this method is optimized such that
passing the returned iterator to another object's setXXX(com.neeve.lang.XLongIterator) method
can perform a direct copy of the underlying values without iteration.
When the XVM is configured to include the capture data points for the statistic, the returned array will include the values collected during this interval. This allows monitoring tools to perform non lossy calculation of percentiles providing now data points were skipped due to under sampling or a missed heartbeat. Then number of valid values in the returned array is dictated by numDataPoints, if the length of the values array is longer than numDataPoints subsequent values in the array should be ignored.
getDataPointsIterator in interface ISrvMonLongSeriespublic final void clearDataPoints()
ISrvMonLongSeriesWhen the XVM is configured to include the capture data points for the statistic, the returned array will include the values collected during this interval. This allows monitoring tools to perform non lossy calculation of percentiles providing now data points were skipped due to under sampling or a missed heartbeat. Then number of valid values in the returned array is dictated by numDataPoints, if the length of the values array is longer than numDataPoints subsequent values in the array should be ignored.
clearDataPoints in interface ISrvMonLongSeriesISrvMonLongSeries.setDataPoints(long[])public static final int getIntervalStatsFieldId()
public final void setIntervalStats(SrvMonLongHistogram val)
ISrvMonLongSeriesHold computed results for the datpoints captured for this heartbeat (e.g. for the numDataPoints captured). This field may not be set if numDataPoints is 0 or if interval computations are not done on the XVM.
setIntervalStats in interface ISrvMonLongSeriesval - The value to set.public final void lendIntervalStats(SrvMonLongHistogram val)
ISrvMonLongSeriesHold computed results for the datpoints captured for this heartbeat (e.g. for the numDataPoints captured). This field may not be set if numDataPoints is 0 or if interval computations are not done on the XVM.
NOTE:
It is illegal to hold onto an entity 'set' on a message post the disposal of the container message.
This is true even if a reference to the entity is explicitly 'acquired' by the application via acquire().
To hold onto the reference of an entity beyond the lifecycle of its container message, an application must own a reference to the entity (via, for example, 'taking' the entity off an inbound message) and then 'lend' the entity to the message for sending. The act of 'lending' an entity to a message implies that the application continues to own the entity even though the message is holding a reference to it for the duration of the send.
lendIntervalStats in interface ISrvMonLongSeriesval - the value to 'lend' to lend.public final SrvMonLongHistogram getIntervalStats()
ISrvMonLongSeriesHold computed results for the datpoints captured for this heartbeat (e.g. for the numDataPoints captured). This field may not be set if numDataPoints is 0 or if interval computations are not done on the XVM.
getIntervalStats in interface ISrvMonLongSeriespublic final void getIntervalStatsTo(SrvMonLongHistogram to)
ISrvMonLongSeriesIF the value is not set, then the contents of the provided SrvMonLongHistogram are cleared.
getIntervalStatsTo in interface ISrvMonLongSeriesto - the value to copy intoSrvMonLongHistogram.copyInto(SrvMonLongHistogram)public final SrvMonLongHistogram takeIntervalStats()
ISrvMonLongSeriesHold computed results for the datpoints captured for this heartbeat (e.g. for the numDataPoints captured). This field may not be set if numDataPoints is 0 or if interval computations are not done on the XVM.
NOTE:
A nested entity reference returned by getXXX() is only valid until the entity is disposed
i.e. the act of getting an entity does not transfer ownership of the entity to the application
A message disposes of its reference to its contained entities when it is disposed itself.
An AEP engine disposes a message on return from its message handler. Therefore, applications working with AEP engines that wish to hold onto a nested entity reference post return from its containing message's handler must either acquire a reference to the container message or 'take' the nested entity itself from the container message. The act of 'taking' an entity differs from 'getting' an entity in that 'take' does what is necessary to ensure that the entity contents are not cleared and the entity not disposed when the message itself is disposed. For a taken entity to be disposed, the application must explicitly dispose it when done working with it.
takeIntervalStats in interface ISrvMonLongSeriesnull if the field is not set.public final boolean hasIntervalStats()
ISrvMonLongSeriesHold computed results for the datpoints captured for this heartbeat (e.g. for the numDataPoints captured). This field may not be set if numDataPoints is 0 or if interval computations are not done on the XVM.
hasIntervalStats in interface ISrvMonLongSeriesISrvMonLongSeries.getIntervalStats()public final void clearIntervalStats()
ISrvMonLongSeriesHold computed results for the datpoints captured for this heartbeat (e.g. for the numDataPoints captured). This field may not be set if numDataPoints is 0 or if interval computations are not done on the XVM.
clearIntervalStats in interface ISrvMonLongSeriesISrvMonLongSeries.setIntervalStats(SrvMonLongHistogram)public static final int getRunningStatsFieldId()
public final void setRunningStats(SrvMonLongHistogram val)
ISrvMonLongSeriesHold computed results for the datpoints over the lifetime of this statistics (e.g. since seqNo 1). If the underlying statistic is reset then the running stats are also corresponding reset.
setRunningStats in interface ISrvMonLongSeriesval - The value to set.public final void lendRunningStats(SrvMonLongHistogram val)
ISrvMonLongSeriesHold computed results for the datpoints over the lifetime of this statistics (e.g. since seqNo 1). If the underlying statistic is reset then the running stats are also corresponding reset.
NOTE:
It is illegal to hold onto an entity 'set' on a message post the disposal of the container message.
This is true even if a reference to the entity is explicitly 'acquired' by the application via acquire().
To hold onto the reference of an entity beyond the lifecycle of its container message, an application must own a reference to the entity (via, for example, 'taking' the entity off an inbound message) and then 'lend' the entity to the message for sending. The act of 'lending' an entity to a message implies that the application continues to own the entity even though the message is holding a reference to it for the duration of the send.
lendRunningStats in interface ISrvMonLongSeriesval - the value to 'lend' to lend.public final SrvMonLongHistogram getRunningStats()
ISrvMonLongSeriesHold computed results for the datpoints over the lifetime of this statistics (e.g. since seqNo 1). If the underlying statistic is reset then the running stats are also corresponding reset.
getRunningStats in interface ISrvMonLongSeriespublic final void getRunningStatsTo(SrvMonLongHistogram to)
ISrvMonLongSeriesIF the value is not set, then the contents of the provided SrvMonLongHistogram are cleared.
getRunningStatsTo in interface ISrvMonLongSeriesto - the value to copy intoSrvMonLongHistogram.copyInto(SrvMonLongHistogram)public final SrvMonLongHistogram takeRunningStats()
ISrvMonLongSeriesHold computed results for the datpoints over the lifetime of this statistics (e.g. since seqNo 1). If the underlying statistic is reset then the running stats are also corresponding reset.
NOTE:
A nested entity reference returned by getXXX() is only valid until the entity is disposed
i.e. the act of getting an entity does not transfer ownership of the entity to the application
A message disposes of its reference to its contained entities when it is disposed itself.
An AEP engine disposes a message on return from its message handler. Therefore, applications working with AEP engines that wish to hold onto a nested entity reference post return from its containing message's handler must either acquire a reference to the container message or 'take' the nested entity itself from the container message. The act of 'taking' an entity differs from 'getting' an entity in that 'take' does what is necessary to ensure that the entity contents are not cleared and the entity not disposed when the message itself is disposed. For a taken entity to be disposed, the application must explicitly dispose it when done working with it.
takeRunningStats in interface ISrvMonLongSeriesnull if the field is not set.public final boolean hasRunningStats()
ISrvMonLongSeriesHold computed results for the datpoints over the lifetime of this statistics (e.g. since seqNo 1). If the underlying statistic is reset then the running stats are also corresponding reset.
hasRunningStats in interface ISrvMonLongSeriesISrvMonLongSeries.getRunningStats()public final void clearRunningStats()
ISrvMonLongSeriesHold computed results for the datpoints over the lifetime of this statistics (e.g. since seqNo 1). If the underlying statistic is reset then the running stats are also corresponding reset.
clearRunningStats in interface ISrvMonLongSeriesISrvMonLongSeries.setRunningStats(SrvMonLongHistogram)public final boolean isDirty()
public static final com.neeve.xbuf.XbufSchema createSchema()
public final byte[] serializeToByteArray()
public final ByteBuffer serializeToByteBuffer()
public final com.neeve.io.IOBuffer serializeToIOBuffer(boolean useNative)
public final boolean isBufferBacked()
public final int getSerializeToNativeLength()
public final int serializeToNative(long address,
int addressOffset)
public final SrvMonLongSeries deserializeFromIOElasticBuffer(com.neeve.io.IOElasticBuffer buffer, int offset, int length, com.neeve.xbuf.XbufDesyncPolicy desyncPolicy)
public final SrvMonLongSeries deserializeFromIOElasticBuffer(com.neeve.io.IOElasticBuffer buffer, int offset, int length)
public final SrvMonLongSeries deserializeFromByteArray(byte[] array, com.neeve.xbuf.XbufDesyncPolicy desyncPolicy)
public final SrvMonLongSeries deserializeFromByteArray(byte[] array)
public final SrvMonLongSeries deserializeFromByteBuffer(ByteBuffer buffer, com.neeve.xbuf.XbufDesyncPolicy desyncPolicy)
public final SrvMonLongSeries deserializeFromByteBuffer(ByteBuffer buffer)
public final SrvMonLongSeries deserializeFromNative(long address, int offset, int length, com.neeve.xbuf.XbufDesyncPolicy desyncPolicy)
public final SrvMonLongSeries deserializeFromNative(long address, int offset, int length)
public final void sync()
public final int desync(PktBuffer buffer, int pos, boolean frameOnly)
com.neeve.xbuf.IXbufDesyncerdesync in interface com.neeve.xbuf.IXbufDesyncerbuffer - The buffer to desync frompos - The position in the container's backing buffer to desync
fromframeOnly - Whether to frame the field on the underlying buffer.
See XbufField.desync(PktBuffer, int, boolean) for more
informationpublic final SrvMonLongSeries init()
UtlPool.ItemThis method is invoked by an item pool very time an item is put into the pool. The method should wipe the contents of the item so as to present a fresh instance of the item to the caller when retrieved from the pool.
init in interface UtlPool.Item<SrvMonLongSeries>public final SrvMonLongSeries setPool(UtlPool<SrvMonLongSeries> pool)
UtlPool.ItemThis method is invoked by an item pool at the time an item is added to the pool. The intent is to record the item's source pool in the item so it can be disposed back into the pool when the user is done working with it.
setPool in interface UtlPool.Item<SrvMonLongSeries>public final UtlPool<SrvMonLongSeries> getPool()
UtlPool.Item
This method should return the pool set using UtlPool.Item.setPool(com.neeve.util.UtlPool<T>)
getPool in interface UtlPool.Item<SrvMonLongSeries>UtlPool.Item.setPool(com.neeve.util.UtlPool<T>)public final boolean isReferenceCounted()
public final SrvMonLongSeries acquire()
public final int getOwnerCount()
public final void dispose()
public final Object clone()
This method differs from the copy() method in that:
public final SrvMonLongSeries copy()
The copy copies primitive, enum and embedded entity fields into the returned copy. Each embedded entity field is cloned so that modifications made to the copy's embedded entity fields do not affect this SrvMonLongSeries's embedded entity fields.
The returned copy will be writeable even if this SrvMonLongSeries is read only.
public final void copyInto(SrvMonLongSeries copy)
The copy clears the target's contents and copies primitive, enum and embedded entity fields into the provided copy. Each embedded entity field is cloned so that modifications made to the copy's embedded entity fields do not affect this SrvMonLongSeries's embedded entity fields.
The returned copy will be writeable even if this SrvMonLongSeries is read only.
copy - The target into which to copy.public final boolean isValid()
IRogValidatableisValid in interface IRogValidatablepublic final void getValidationErrors(List<XString> results, String errorPrefix)
IRogValidatablegetValidationErrors in interface IRogValidatableresults - A results list into which validation errors will be collected.errorPrefix - The bean path prefix to use when identifying invalid fields or null if validating a top level entity.Copyright © 2019 Neeve Research, LLC. All Rights Reserved.