Uniqueness Checker
The uniqueness checker and backing store metrics are from the perspective of uniqueness processing, which runs independently of the flow Communication between participants in an application network is peer-to-peer using flows. processing.
The uniqueness checker handles the business logic of uniqueness checking. The implementation is batched at two levels and three categories of metrics are provided:
Metrics starting with
uniqueness_checker_batch
relate to “top level” metrics, which apply to a single batch processed by the uniqueness checker. As a batch may contain requests from different notary Corda’s uniqueness consensus service. The notary’s primary role is to prevent double-spends by ensuring each transaction contains only unique unconsumed input states. services and/or virtual nodes, these metrics provide no context as to the identities of the batch being processed.Metrics starting with
uniqueness_checker_subbatch
relate to “sub-batch level” metrics. Each sub-batch represents a partition for each notary virtual node The combination of the context of a user and the ephemeral compute instances created to progress a transaction on that identity's behalf. identity within a batch. The virtual node identity is captured via the existingvirtualnode.source
tag.Metrics starting with
uniqueness_checker_request
relate to metrics applicable to specific requests within a sub-batch, such as the result of a request. Like the sub-batch metrics, these are also associated with thevirtualnode.source
tag.
Metric | Type | Tags | Description |
---|---|---|---|
corda_uniqueness_checker_batch_execution_time_seconds | Timer | None | The overall time for the uniqueness checker to process a batch, inclusive of all sub-batches. |
corda_uniqueness_checker_batch_size | DistributionSummary | None | The number of requests in a batch processed by the uniqueness checker. |
corda_uniqueness_checker_subbatch_execution_time_seconds | Timer |
| The time for the uniqueness checker to process a sub-batch, that is, a partition of a batch segregated by notary virtual node holding identity A group’s addressable identity on a network, plus its X.500 name. . |
corda_uniqueness_checker_subbatch_size | DistributionSummary |
| The number of requests in a sub-batch processed by the uniqueness checker. |
corda_uniqueness_checker_request_count | Counter |
| A count of the number of requests processed. On its own this simply duplicates information that is already captured at the batch and sub-batch levels, but the tags can be used to provide additional context not available in the other metrics. |
Tags:
virtualnode_source
: The virtual node identity.result_type
: It can be used to understand the number of successful vs failed requests, and the type of failures.duplicate
: This tag is set totrue
if the uniqueness checker has seen a request for this transaction before, and is therefore simply returning the original result. Otherwise, it isfalse
.
Was this page helpful?
Thanks for your feedback!
Chat with us
Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.
Propose documentation improvements directly
Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.
We're sorry this page wasn't helpful. Let us know how we can make it better!
Chat with us
Chat with us on our #docs channel on slack. You can also join a lot of other slack channels there and have access to 1-on-1 communication with members of the R3 team and the online community.
Create an issue
Create a new GitHub issue in this repository - submit technical feedback, draw attention to a potential documentation bug, or share ideas for improvement and general feedback.
Propose documentation improvements directly
Help us to improve the docs by contributing directly. It's simple - just fork this repository and raise a PR of your own - R3's Technical Writers will review it and apply the relevant suggestions.