Files
device_google_wahoo/powerstats/EaselStateResidencyDataProvider.h
Benjamin Schwartz 6779b46ad1 power.stats: Clean up pixel specific implementation
- IStateResidencyDataProvider now uses std::unordered_map instead of
  std::map. This was originally intended to use an unordered_map.
- Changed PowerStats::debug header to "Entity" instead of "Subsystem"
- Removed dead code related to dumping of statistics for the old power
  HAL

Bug: 117887759
Test: adb shell "lshal debug android.hardware.power.stats@1.0::IPowerStats/default"
Observed the following output on C2F2:
========== PowerStats HAL 1.0 state residencies ==========
          Entity            State         Total time     Total entries   Last entry timestamp
        Airbrush           Active               0 ms                 0               0 ms
        Airbrush            Sleep               0 ms                 0               0 ms
        Airbrush       Deep sleep               0 ms                 0               0 ms
        Airbrush          Suspend               0 ms                 0               0 ms
        Airbrush              Off               0 ms                 1             912 ms
        Airbrush          Unknown               0 ms                 0               0 ms
            WLAN           Active           31436 ms                 0               0 ms
            WLAN       Deep-Sleep               0 ms                 0               0 ms
             SoC             AOSD               0 ms                 0               0 ms
             SoC             CXSD               0 ms                 0               0 ms
             SoC              DDR               0 ms                 0               0 ms
            SLPI            Sleep           13747 ms               759           31038 ms
            CDSP            Sleep           15165 ms                98           26055 ms
            ADSP            Sleep           14327 ms               160           25012 ms
            MPSS            Sleep               5 ms                 4           22409 ms
            APSS            Sleep               0 ms                 0               0 ms
========== End of PowerStats HAL 1.0 state residencies ==========

Change-Id: Iea8fc895b06ce215e60ad76a2427fcd5a6f7724e
2019-01-18 10:04:38 -08:00

53 lines
1.8 KiB
C++

/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef DEVICE_GOOGLE_WAHOO_POWERSTATS_EASELSTATERESIDENCYDATAPROVIDER_H
#define DEVICE_GOOGLE_WAHOO_POWERSTATS_EASELSTATERESIDENCYDATAPROVIDER_H
#include <pixelpowerstats/PowerStats.h>
using android::hardware::power::stats::V1_0::PowerEntityStateResidencyResult;
using android::hardware::power::stats::V1_0::PowerEntityStateSpace;
using android::hardware::google::pixel::powerstats::IStateResidencyDataProvider;
namespace android {
namespace device {
namespace google {
namespace wahoo {
namespace powerstats {
class EaselStateResidencyDataProvider : public IStateResidencyDataProvider {
public:
EaselStateResidencyDataProvider(uint32_t id);
~EaselStateResidencyDataProvider() = default;
bool getResults(std::unordered_map<uint32_t, PowerEntityStateResidencyResult>
&results) override;
std::vector<PowerEntityStateSpace> getStateSpaces() override;
private:
std::mutex mLock;
const uint32_t mPowerEntityId;
uint64_t mTotalOnSnapshotCount;
uint64_t mTotalNotOnSnapshotCount;
};
} // namespace powerstats
} // namespace wahoo
} // namespace google
} // namespace device
} // namespace android
#endif // DEVICE_GOOGLE_WAHOO_POWERSTATS_EASELSTATERESIDENCYDATAPROVIDER_H