Skip to main content
Version: v1

MergeHealthStats Interface

Statistics about the health of collaborative edit merging when using SharedTree. All of those numbers constitute a tally since the last heartbeat was logged or cleared.

Signature

export interface MergeHealthStats

Properties

Property Type Description
badPlaceCount number

Number of sequenced edits that failed to apply due to a bad place. Such cases are also counted under failedEditCount.

If this number is greater than the sum of: * deletedAncestorBadPlaceCount * deletedSiblingBadPlaceCount

then some failure scenarios are not being tracked adequately.

badRangeCount number

Number of sequenced edits that failed to apply due to a bad range. Such cases are also counted under failedEditCount.

If this number is greater than the sum of: * deletedAncestorBadRangeCount * deletedSiblingBadRangeCount * updatedRangeInvertedCount * updatedRangeHasPlacesInDifferentTraitsCount * updatedRangeBadPlaceCount * updatedRangeNeverValidPlaceCount

then some failure scenarios are not being tracked adequately.

constraintViolationCount number

Number of sequenced edits that failed to apply due to a constraint violation. Such cases are also counted under failedEditCount.

If this number is greater than the sum of: * rangeConstraintViolationCount * lengthConstraintViolationCount * parentConstraintViolationCount * labelConstraintViolationCount

then some failure scenarios are not being tracked adequately.

deletedAncestorBadPlaceCount number Number of sequenced edits that failed to apply due to a place whose ancestors had been concurrently deleted. Such cases are also counted under badPlaceCount.
deletedAncestorBadRangeCount number Number of sequenced edits that failed to apply due to a range whose ancestors had been concurrently deleted. Such cases are also counted under badRangeCount.
deletedSiblingBadPlaceCount number Number of sequenced edits that failed to apply due to a place whose sibling (but not its parent) had been concurrently deleted. Such cases are also counted under badPlaceCount.
deletedSiblingBadRangeCount number Number of sequenced edits that failed to apply due to a range whose delimiting sibling(s) (but not its parent) had been concurrently deleted. Such cases are also counted under badRangeCount.
editCount number Number of sequenced edits applied (failed or not).
failedEditCount number

Number of sequenced edits that failed to apply. Such cases are also counted under editCount.

If this number is greater than the sum of: * badPlaceCount * badRangeCount * constraintViolationCount * idAlreadyInUseCount * unknownIdCount * malformedEditCount

then some failure scenarios are not being tracked adequately.

idAlreadyInUseCount number Number of sequenced edits that failed to apply due to an ID collision. Such cases are also counted under failedEditCount.
labelConstraintViolationCount number Number of sequenced edits that failed to apply due to a constrained range being under a different label. Such cases are also counted under constraintViolationCount.
lengthConstraintViolationCount number Number of sequenced edits that failed to apply due to a constrained range having a different length. Such cases are also counted under constraintViolationCount.
malformedEditCount number Number of sequenced edits that failed to apply due to an edit becoming malformed. This should theoretically never happen. Such cases are also counted under failedEditCount.
maxAttemptCount number The highest number previous attempts on a sequenced edit.
parentConstraintViolationCount number Number of sequenced edits that failed to apply due to a constrained range being under a different parent. Such cases are also counted under constraintViolationCount.
pathLengths number[] The counts of occurrences for a given path length. pathLengths[1] === 2 means two occurrences of length one.
rangeConstraintViolationCount number Number of sequenced edits that failed to apply due to a constrained range becoming invalid or malformed. Such cases are also counted under constraintViolationCount.
unknownIdCount number Number of sequenced edits that failed to apply due to an ID being unknown. Such cases are also counted under failedEditCount.
updatedRangeBadPlaceCount number Number of sequenced edits that failed to apply due to a range whose places were resolvable but bad. This should not happen because place resolution is expected to either return a valid place or fail. Such cases are also counted under badRangeCount.
updatedRangeHasPlacesInDifferentTraitsCount number Number of sequenced edits that failed to apply due to a range whose places were resolvable but in different traits. Such cases are also counted under badRangeCount.
updatedRangeInvertedCount number Number of sequenced edits that failed to apply due to a range whose places were resolvable but inverted (i.e., end before start). Such cases are also counted under badRangeCount.
updatedRangeNeverValidPlaceCount number Number of sequenced edits that failed to apply due to a range whose places were not resolvable due to not being valid for any state. Such cases are also counted under badRangeCount.

Property Details

badPlaceCount

Number of sequenced edits that failed to apply due to a bad place. Such cases are also counted under failedEditCount.

If this number is greater than the sum of: * deletedAncestorBadPlaceCount * deletedSiblingBadPlaceCount

then some failure scenarios are not being tracked adequately.

Signature

badPlaceCount: number;

Type: number

badRangeCount

Number of sequenced edits that failed to apply due to a bad range. Such cases are also counted under failedEditCount.

If this number is greater than the sum of: * deletedAncestorBadRangeCount * deletedSiblingBadRangeCount * updatedRangeInvertedCount * updatedRangeHasPlacesInDifferentTraitsCount * updatedRangeBadPlaceCount * updatedRangeNeverValidPlaceCount

then some failure scenarios are not being tracked adequately.

Signature

badRangeCount: number;

Type: number

constraintViolationCount

Number of sequenced edits that failed to apply due to a constraint violation. Such cases are also counted under failedEditCount.

If this number is greater than the sum of: * rangeConstraintViolationCount * lengthConstraintViolationCount * parentConstraintViolationCount * labelConstraintViolationCount

then some failure scenarios are not being tracked adequately.

Signature

constraintViolationCount: number;

Type: number

deletedAncestorBadPlaceCount

Number of sequenced edits that failed to apply due to a place whose ancestors had been concurrently deleted. Such cases are also counted under badPlaceCount.

Signature

deletedAncestorBadPlaceCount: number;

Type: number

deletedAncestorBadRangeCount

Number of sequenced edits that failed to apply due to a range whose ancestors had been concurrently deleted. Such cases are also counted under badRangeCount.

Signature

deletedAncestorBadRangeCount: number;

Type: number

deletedSiblingBadPlaceCount

Number of sequenced edits that failed to apply due to a place whose sibling (but not its parent) had been concurrently deleted. Such cases are also counted under badPlaceCount.

Signature

deletedSiblingBadPlaceCount: number;

Type: number

deletedSiblingBadRangeCount

Number of sequenced edits that failed to apply due to a range whose delimiting sibling(s) (but not its parent) had been concurrently deleted. Such cases are also counted under badRangeCount.

Signature

deletedSiblingBadRangeCount: number;

Type: number

editCount

Number of sequenced edits applied (failed or not).

Signature

editCount: number;

Type: number

failedEditCount

Number of sequenced edits that failed to apply. Such cases are also counted under editCount.

If this number is greater than the sum of: * badPlaceCount * badRangeCount * constraintViolationCount * idAlreadyInUseCount * unknownIdCount * malformedEditCount

then some failure scenarios are not being tracked adequately.

Signature

failedEditCount: number;

Type: number

idAlreadyInUseCount

Number of sequenced edits that failed to apply due to an ID collision. Such cases are also counted under failedEditCount.

Signature

idAlreadyInUseCount: number;

Type: number

labelConstraintViolationCount

Number of sequenced edits that failed to apply due to a constrained range being under a different label. Such cases are also counted under constraintViolationCount.

Signature

labelConstraintViolationCount: number;

Type: number

lengthConstraintViolationCount

Number of sequenced edits that failed to apply due to a constrained range having a different length. Such cases are also counted under constraintViolationCount.

Signature

lengthConstraintViolationCount: number;

Type: number

malformedEditCount

Number of sequenced edits that failed to apply due to an edit becoming malformed. This should theoretically never happen. Such cases are also counted under failedEditCount.

Signature

malformedEditCount: number;

Type: number

maxAttemptCount

The highest number previous attempts on a sequenced edit.

Signature

maxAttemptCount: number;

Type: number

parentConstraintViolationCount

Number of sequenced edits that failed to apply due to a constrained range being under a different parent. Such cases are also counted under constraintViolationCount.

Signature

parentConstraintViolationCount: number;

Type: number

pathLengths

The counts of occurrences for a given path length. pathLengths[1] === 2 means two occurrences of length one.

Signature

pathLengths: number[];

Type: number[]

rangeConstraintViolationCount

Number of sequenced edits that failed to apply due to a constrained range becoming invalid or malformed. Such cases are also counted under constraintViolationCount.

Signature

rangeConstraintViolationCount: number;

Type: number

unknownIdCount

Number of sequenced edits that failed to apply due to an ID being unknown. Such cases are also counted under failedEditCount.

Signature

unknownIdCount: number;

Type: number

updatedRangeBadPlaceCount

Number of sequenced edits that failed to apply due to a range whose places were resolvable but bad. This should not happen because place resolution is expected to either return a valid place or fail. Such cases are also counted under badRangeCount.

Signature

updatedRangeBadPlaceCount: number;

Type: number

updatedRangeHasPlacesInDifferentTraitsCount

Number of sequenced edits that failed to apply due to a range whose places were resolvable but in different traits. Such cases are also counted under badRangeCount.

Signature

updatedRangeHasPlacesInDifferentTraitsCount: number;

Type: number

updatedRangeInvertedCount

Number of sequenced edits that failed to apply due to a range whose places were resolvable but inverted (i.e., end before start). Such cases are also counted under badRangeCount.

Signature

updatedRangeInvertedCount: number;

Type: number

updatedRangeNeverValidPlaceCount

Number of sequenced edits that failed to apply due to a range whose places were not resolvable due to not being valid for any state. Such cases are also counted under badRangeCount.

Signature

updatedRangeNeverValidPlaceCount: number;

Type: number