• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  //
2  // Copyright (C) 2023 The Android Open Source Project
3  //
4  // Licensed under the Apache License, Version 2.0 (the "License");
5  // you may not use this file except in compliance with the License.
6  // You may obtain a copy of the License at
7  //
8  //      http://www.apache.org/licenses/LICENSE-2.0
9  //
10  // Unless required by applicable law or agreed to in writing, software
11  // distributed under the License is distributed on an "AS IS" BASIS,
12  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  // See the License for the specific language governing permissions and
14  // limitations under the License.
15  //
16  
17  #include "include/Counter.h"
18  
19  #include <statslog_express.h>
20  #include <string.h>
21  #include <utils/hash/farmhash.h>
22  
23  namespace android {
24  namespace expresslog {
25  
logIncrement(const char * metricName,int64_t amount)26  void Counter::logIncrement(const char* metricName, int64_t amount) {
27      const int64_t metricIdHash = farmhash::Fingerprint64(metricName, strlen(metricName));
28      stats_write(EXPRESS_EVENT_REPORTED, metricIdHash, amount);
29  }
30  
logIncrementWithUid(const char * metricName,int32_t uid,int64_t amount)31  void Counter::logIncrementWithUid(const char* metricName, int32_t uid, int64_t amount) {
32      const int64_t metricIdHash = farmhash::Fingerprint64(metricName, strlen(metricName));
33      stats_write(EXPRESS_UID_EVENT_REPORTED, metricIdHash, amount, uid);
34  }
35  
36  }  // namespace expresslog
37  }  // namespace android
38