Uniqueness Checker heading-link-icon

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 existing virtualnode.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 the virtualnode.source tag.

MetricTypeTagsDescription
corda_uniqueness_checker_batch_execution_time_secondsTimerNoneThe overall time for the uniqueness checker to process a batch, inclusive of all sub-batches.
corda_uniqueness_checker_batch_sizeDistributionSummaryNoneThe number of requests in a batch processed by the uniqueness checker.
corda_uniqueness_checker_subbatch_execution_time_secondsTimer
  • virtualnode_source
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_sizeDistributionSummary
  • virtualnode_source
The number of requests in a sub-batch processed by the uniqueness checker.
corda_uniqueness_checker_request_countCounter
  • virtualnode_source
  • result_type
  • duplicate
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 to true if the uniqueness checker has seen a request for this transaction before, and is therefore simply returning the original result. Otherwise, it is false.

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.