| Brandon Kim | dab96f1 | 2021-02-18 11:21:37 -0800 | [diff] [blame] | 1 | // Copyright 2021 Google LLC | 
 | 2 | // | 
 | 3 | // Licensed under the Apache License, Version 2.0 (the "License"); | 
 | 4 | // you may not use this file except in compliance with the License. | 
 | 5 | // You may obtain a copy of the License at | 
 | 6 | // | 
 | 7 | //      http://www.apache.org/licenses/LICENSE-2.0 | 
 | 8 | // | 
 | 9 | // Unless required by applicable law or agreed to in writing, software | 
 | 10 | // distributed under the License is distributed on an "AS IS" BASIS, | 
 | 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | 12 | // See the License for the specific language governing permissions and | 
 | 13 | // limitations under the License. | 
 | 14 |  | 
| William A. Kennington III | b7b1c3f | 2021-02-16 17:47:08 -0800 | [diff] [blame] | 15 | #pragma once | 
| Sui Chen | 03eba28 | 2021-02-11 11:35:56 -0800 | [diff] [blame] | 16 |  | 
 | 17 | #include <string> | 
 | 18 | #include <string_view> | 
 | 19 |  | 
 | 20 | namespace metric_blob | 
 | 21 | { | 
 | 22 |  | 
 | 23 | struct TcommUtimeStime | 
 | 24 | { | 
 | 25 |     std::string tcomm; | 
 | 26 |     float utime; | 
 | 27 |     float stime; | 
 | 28 | }; | 
 | 29 |  | 
 | 30 | TcommUtimeStime parseTcommUtimeStimeString(std::string_view content, | 
 | 31 |                                            long ticksPerSec); | 
 | 32 | std::string readFileIntoString(std::string_view fileName); | 
 | 33 | bool isNumericPath(std::string_view path, int& value); | 
 | 34 | TcommUtimeStime getTcommUtimeStime(int pid, long ticksPerSec); | 
 | 35 | std::string getCmdLine(int pid); | 
 | 36 | bool parseMeminfoValue(std::string_view content, std::string_view keyword, | 
 | 37 |                        int& value); | 
 | 38 | bool parseProcUptime(const std::string_view content, double& uptime, | 
 | 39 |                      double& idleProcessTime); | 
 | 40 | long getTicksPerSec(); | 
 | 41 | char controlCharsToSpace(char c); | 
 | 42 | std::string trimStringRight(std::string_view s); | 
 | 43 |  | 
 | 44 | } // namespace metric_blob |