1 /**
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19 package org.apache.hadoop.hbase.io;
20
21 import org.apache.hadoop.hbase.metrics.BaseSource;
22
23 public interface MetricsIOSource extends BaseSource {
24
25 /**
26 * The name of the metrics
27 */
28 String METRICS_NAME = "IO";
29
30 /**
31 * The name of the metrics context that metrics will be under.
32 */
33 String METRICS_CONTEXT = "regionserver";
34
35 /**
36 * Description
37 */
38 String METRICS_DESCRIPTION = "Metrics about FileSystem IO";
39
40 /**
41 * The name of the metrics context that metrics will be under in jmx
42 */
43 String METRICS_JMX_CONTEXT = "RegionServer,sub=" + METRICS_NAME;
44
45
46 String FS_READ_TIME_HISTO_KEY = "fsReadTime";
47 String FS_PREAD_TIME_HISTO_KEY = "fsPReadTime";
48 String FS_WRITE_HISTO_KEY = "fsWriteTime";
49
50 String CHECKSUM_FAILURES_KEY = "fsChecksumFailureCount";
51
52 String FS_READ_TIME_HISTO_DESC
53 = "Latency of HFile's sequential reads on this region server in milliseconds";
54 String FS_PREAD_TIME_HISTO_DESC
55 = "Latency of HFile's positional reads on this region server in milliseconds";
56 String FS_WRITE_TIME_HISTO_DESC
57 = "Latency of HFile's writes on this region server in milliseconds";
58
59 String CHECKSUM_FAILURES_DESC = "Number of checksum failures for the HBase HFile checksums at the"
60 + " HBase level (separate from HDFS checksums)";
61
62
63 /**
64 * Update the fs sequential read time histogram
65 * @param t time it took, in milliseconds
66 */
67 void updateFsReadTime(long t);
68
69 /**
70 * Update the fs positional read time histogram
71 * @param t time it took, in milliseconds
72 */
73 void updateFsPReadTime(long t);
74
75 /**
76 * Update the fs write time histogram
77 * @param t time it took, in milliseconds
78 */
79 void updateFsWriteTime(long t);
80 }