2 * Copyright The Apache Software Foundation
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
21 package org
.apache
.hadoop
.hbase
;
25 import org
.apache
.hadoop
.hbase
.util
.Bytes
;
26 import org
.apache
.yetus
.audience
.InterfaceAudience
;
27 import org
.apache
.yetus
.audience
.InterfaceStability
;
30 * Encapsulates per-user load metrics.
32 @InterfaceAudience.Public
33 @InterfaceStability.Evolving
34 public interface UserMetrics
{
36 interface ClientMetrics
{
40 long getReadRequestsCount();
42 long getWriteRequestsCount();
44 long getFilteredReadRequestsCount();
48 * @return the user name
53 * @return the number of read requests made by user
55 long getReadRequestCount();
58 * @return the number of write requests made by user
60 long getWriteRequestCount();
63 * @return the number of write requests and read requests and coprocessor
64 * service requests made by the user
66 default long getRequestCount() {
67 return getReadRequestCount() + getWriteRequestCount();
71 * @return the user name as a string
73 default String
getNameAsString() {
74 return Bytes
.toStringBinary(getUserName());
78 * @return metrics per client(hostname)
80 Map
<String
, ClientMetrics
> getClientMetrics();
83 * @return count of filtered read requests for a user
85 long getFilteredReadRequests();