100600bfbSopenharmony_ci/*
200600bfbSopenharmony_ci * Copyright (c) 2021 Huawei Device Co., Ltd.
300600bfbSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
400600bfbSopenharmony_ci * you may not use this file except in compliance with the License.
500600bfbSopenharmony_ci * You may obtain a copy of the License at
600600bfbSopenharmony_ci *
700600bfbSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
800600bfbSopenharmony_ci *
900600bfbSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1000600bfbSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1100600bfbSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1200600bfbSopenharmony_ci * See the License for the specific language governing permissions and
1300600bfbSopenharmony_ci * limitations under the License.
1400600bfbSopenharmony_ci */
1500600bfbSopenharmony_ci#ifndef DUMP_USAGE_H
1600600bfbSopenharmony_ci#define DUMP_USAGE_H
1700600bfbSopenharmony_ci#include <memory>
1800600bfbSopenharmony_ci#include "executor/memory/parse/meminfo_data.h"
1900600bfbSopenharmony_cinamespace OHOS {
2000600bfbSopenharmony_cinamespace HiviewDFX {
2100600bfbSopenharmony_ciclass DumpUsage {
2200600bfbSopenharmony_cipublic:
2300600bfbSopenharmony_ci    DumpUsage();
2400600bfbSopenharmony_ci    ~DumpUsage();
2500600bfbSopenharmony_ci
2600600bfbSopenharmony_ci    bool GetMemInfo(const int &pid, MemInfoData::MemInfo &info);
2700600bfbSopenharmony_ci    uint64_t GetPss(const int &pid);
2800600bfbSopenharmony_ci    uint64_t GetPrivateDirty(const int &pid);
2900600bfbSopenharmony_ci    uint64_t GetSharedDirty(const int &pid);
3000600bfbSopenharmony_ci    double GetCpuUsage(const int &pid);
3100600bfbSopenharmony_ci};
3200600bfbSopenharmony_ci} // namespace HiviewDFX
3300600bfbSopenharmony_ci} // namespace OHOS
3400600bfbSopenharmony_ci#endif
35