| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| package org.apache.samza.table.utils; |
| |
| import org.apache.samza.context.Context; |
| import org.apache.samza.metrics.Counter; |
| import org.apache.samza.metrics.Timer; |
| import org.apache.samza.table.Table; |
| |
| |
| /** |
| * Utility class that contains the default set of read metrics. |
| */ |
| public class TableMetrics { |
| |
| // Read metrics |
| public final Timer getNs; |
| public final Timer getAllNs; |
| public final Timer readNs; |
| public final Counter numGets; |
| public final Counter numGetAlls; |
| public final Counter numReads; |
| public final Counter numMissedLookups; |
| // Write metrics |
| public final Counter numPuts; |
| public final Timer putNs; |
| public final Counter numPutAlls; |
| public final Timer putAllNs; |
| public final Counter numDeletes; |
| public final Timer deleteNs; |
| public final Counter numDeleteAlls; |
| public final Timer deleteAllNs; |
| public final Counter numWrites; |
| public final Timer writeNs; |
| public final Counter numFlushes; |
| public final Timer flushNs; |
| |
| /** |
| * Constructor based on container and task container context |
| * |
| * @param context {@link Context} for this task |
| * @param table underlying table |
| * @param tableId table Id |
| */ |
| public TableMetrics(Context context, Table table, String tableId) { |
| TableMetricsUtil tableMetricsUtil = new TableMetricsUtil(context, table, tableId); |
| // Read metrics |
| numGets = tableMetricsUtil.newCounter("num-gets"); |
| getNs = tableMetricsUtil.newTimer("get-ns"); |
| numGetAlls = tableMetricsUtil.newCounter("num-getAlls"); |
| getAllNs = tableMetricsUtil.newTimer("getAll-ns"); |
| numReads = tableMetricsUtil.newCounter("num-reads"); |
| readNs = tableMetricsUtil.newTimer("read-ns"); |
| numMissedLookups = tableMetricsUtil.newCounter("num-missed-lookups"); |
| // Write metrics |
| numPuts = tableMetricsUtil.newCounter("num-puts"); |
| putNs = tableMetricsUtil.newTimer("put-ns"); |
| numPutAlls = tableMetricsUtil.newCounter("num-putAlls"); |
| putAllNs = tableMetricsUtil.newTimer("putAll-ns"); |
| numDeletes = tableMetricsUtil.newCounter("num-deletes"); |
| deleteNs = tableMetricsUtil.newTimer("delete-ns"); |
| numDeleteAlls = tableMetricsUtil.newCounter("num-deleteAlls"); |
| deleteAllNs = tableMetricsUtil.newTimer("deleteAll-ns"); |
| numWrites = tableMetricsUtil.newCounter("num-writes"); |
| writeNs = tableMetricsUtil.newTimer("write-ns"); |
| numFlushes = tableMetricsUtil.newCounter("num-flushes"); |
| flushNs = tableMetricsUtil.newTimer("flush-ns"); |
| } |
| } |