Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,11 @@ public static Collection<VirtualTable> getAll(String name)
new LatencyTableMetric(name, "local_read_latency", t -> t.readLatency.tableOrKeyspaceMetric().latency),
new LatencyTableMetric(name, "local_scan_latency", t -> t.rangeLatency.tableOrKeyspaceMetric().latency),
new LatencyTableMetric(name, "coordinator_read_latency", t -> t.coordinatorReadLatency.tableOrKeyspaceTimer()),
new LatencyTableMetric(name, "coordinator_cas_read_latency", t -> t.coordinatorCasReadLatency.tableOrKeyspaceTimer()),
new LatencyTableMetric(name, "coordinator_scan_latency", t -> t.coordinatorScanLatency.tableOrKeyspaceTimer()),
new LatencyTableMetric(name, "local_write_latency", t -> t.writeLatency.tableOrKeyspaceMetric().latency),
new LatencyTableMetric(name, "coordinator_write_latency", t -> t.coordinatorWriteLatency.tableOrKeyspaceTimer()),
new LatencyTableMetric(name, "coordinator_cas_write_latency", t -> t.coordinatorCasWriteLatency.tableOrKeyspaceTimer()),
new HistogramTableMetric(name, "tombstones_per_read", t -> t.tombstoneScannedHistogram.tableOrKeyspaceHistogram()),
new HistogramTableMetric(name, "rows_per_read", t -> t.liveScannedHistogram.tableOrKeyspaceHistogram()),
new StorageTableMetric(name, "disk_usage", (TableMetrics t) -> t.totalDiskSpaceUsed),
Expand Down
6 changes: 6 additions & 0 deletions src/java/org/apache/cassandra/metrics/KeyspaceMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,14 @@ public class KeyspaceMetrics
public final Counter outOfRangeTokenPaxosRequests;
/** Coordinator read metrics */
public final Timer coordinatorReadLatency;
/** Coordinator CAS read metrics */
public final Timer coordinatorCasReadLatency;
/** Coordinator range metrics */
public final Timer coordinatorScanLatency;
/** Coordinator write metrics */
public final Timer coordinatorWriteLatency;
/** Coordinator CAS write metrics */
public final Timer coordinatorCasWriteLatency;
/** Time spent waiting for free memtable space, either on- or off-heap */
public final Histogram waitingOnFreeMemtableSpace;

Expand Down Expand Up @@ -297,8 +301,10 @@ public KeyspaceMetrics(final Keyspace ks)
bytesValidated = createKeyspaceHistogram("BytesValidated", false);

coordinatorReadLatency = createKeyspaceTimer("CoordinatorReadLatency");
coordinatorCasReadLatency = createKeyspaceTimer("CoordinatorCasReadLatency");
coordinatorScanLatency = createKeyspaceTimer("CoordinatorScanLatency");
coordinatorWriteLatency = createKeyspaceTimer("CoordinatorWriteLatency");
coordinatorCasWriteLatency = createKeyspaceTimer("CoordinatorCasWriteLatency");
waitingOnFreeMemtableSpace = createKeyspaceHistogram("WaitingOnFreeMemtableSpace", false);

confirmedRepairedInconsistencies = createKeyspaceMeter("RepairedDataInconsistenciesConfirmed");
Expand Down
8 changes: 8 additions & 0 deletions src/java/org/apache/cassandra/metrics/TableMetrics.java
Original file line number Diff line number Diff line change
Expand Up @@ -334,9 +334,14 @@
public final Gauge<Double> mutatedAnticompactionGauge;

public final TableTimer<SnapshottingTimer> coordinatorReadLatency;
public final TableTimer coordinatorCasReadLatency;

Check warning on line 337 in src/java/org/apache/cassandra/metrics/TableMetrics.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Provide the parametrized type for this generic.

See more on https://sonarcloud.io/project/issues?id=cassandra-stargazer&issues=AZsEHftZgbzTCiVM0cQh&open=AZsEHftZgbzTCiVM0cQh&pullRequest=2166
public final TableTimer coordinatorScanLatency;
public final TableTimer coordinatorCasWriteLatency;

Check warning on line 339 in src/java/org/apache/cassandra/metrics/TableMetrics.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Provide the parametrized type for this generic.

See more on https://sonarcloud.io/project/issues?id=cassandra-stargazer&issues=AZsEHftZgbzTCiVM0cQi&open=AZsEHftZgbzTCiVM0cQi&pullRequest=2166
public final TableTimer<SnapshottingTimer> coordinatorWriteLatency;

/** Time spent waiting for free memtable space, either on- or off-heap */
public final TableHistogram waitingOnFreeMemtableSpace;

private final MetricNameFactory factory;
private final MetricNameFactory aliasFactory;

Expand Down Expand Up @@ -1030,8 +1035,11 @@
liveScannedHistogram = createTableHistogram("LiveScannedHistogram", cfs.getKeyspaceMetrics().liveScannedHistogram, false);
colUpdateTimeDeltaHistogram = createTableHistogram("ColUpdateTimeDeltaHistogram", cfs.getKeyspaceMetrics().colUpdateTimeDeltaHistogram, false);
coordinatorReadLatency = createTableTimer("CoordinatorReadLatency", cfs.getKeyspaceMetrics().coordinatorReadLatency);
coordinatorCasReadLatency = createTableTimer("CoordinatorCasReadLatency", cfs.getKeyspaceMetrics().coordinatorCasReadLatency);
coordinatorScanLatency = createTableTimer("CoordinatorScanLatency", cfs.getKeyspaceMetrics().coordinatorScanLatency);
coordinatorWriteLatency = createTableTimer("CoordinatorWriteLatency", cfs.getKeyspaceMetrics().coordinatorWriteLatency);
coordinatorCasWriteLatency = createTableTimer("CoordinatorCasWriteLatency", cfs.getKeyspaceMetrics().coordinatorCasWriteLatency);
waitingOnFreeMemtableSpace = createTableHistogram("WaitingOnFreeMemtableSpace", cfs.getKeyspaceMetrics().waitingOnFreeMemtableSpace, false);

// We do not want to capture view mutation specific metrics for a view
// They only makes sense to capture on the base table
Expand Down
1 change: 1 addition & 0 deletions src/java/org/apache/cassandra/service/StorageProxy.java
Original file line number Diff line number Diff line change
Expand Up @@ -671,6 +671,7 @@ public static RowIterator legacyCas(String keyspaceName,
metrics.casWriteMetrics.serviceTimeMetrics.addNano(latency);
metrics.writeMetricsForLevel(consistencyForPaxos).executionTimeMetrics.addNano(latency);
metrics.writeMetricsForLevel(consistencyForPaxos).serviceTimeMetrics.addNano(latency);
Keyspace.openAndGetStore(metadata).metric.coordinatorCasWriteLatency.update(latency, NANOSECONDS);
}
}

Expand Down