Delete CarStatsPuller class

The CarStatsPuller class is not needed because CarStatsService will now
directly register the VMS_CLIENT_STATS puller with StatsManager.

Test: m -j
Bug: 148123503
Change-Id: Icd46af829c8f559315f72feab1eda3b687c57148
This commit is contained in:
Ruchir Rastogi
2020-01-21 23:56:08 -08:00
parent 8d22767445
commit f60603ccd7
6 changed files with 0 additions and 176 deletions

View File

@@ -50,7 +50,6 @@ cc_defaults {
srcs: [
":statsd_aidl",
":ICarStatsService.aidl",
"src/active_config_list.proto",
"src/anomaly/AlarmMonitor.cpp",
"src/anomaly/AlarmTracker.cpp",
@@ -65,7 +64,6 @@ cc_defaults {
"src/config/ConfigKey.cpp",
"src/config/ConfigListener.cpp",
"src/config/ConfigManager.cpp",
"src/external/CarStatsPuller.cpp",
"src/external/GpuStatsPuller.cpp",
"src/external/Perfetto.cpp",
"src/external/PowerStatsPuller.cpp",

View File

@@ -1,96 +0,0 @@
/*
* Copyright 2019 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.
*/
#define DEBUG false
#include "Log.h"
#include <binder/IServiceManager.h>
#include <com/android/internal/car/ICarStatsService.h>
#include "CarStatsPuller.h"
#include "logd/LogEvent.h"
#include "stats_log_util.h"
using android::binder::Status;
using com::android::internal::car::ICarStatsService;
namespace android {
namespace os {
namespace statsd {
static std::mutex gCarStatsMutex;
static sp<ICarStatsService> gCarStats = nullptr;
class CarStatsDeathRecipient : public android::IBinder::DeathRecipient {
public:
CarStatsDeathRecipient() = default;
~CarStatsDeathRecipient() override = default;
// android::IBinder::DeathRecipient override:
void binderDied(const android::wp<android::IBinder>& /* who */) override {
ALOGE("Car service has died");
std::lock_guard<std::mutex> lock(gCarStatsMutex);
if (gCarStats) {
sp<IBinder> binder = IInterface::asBinder(gCarStats);
binder->unlinkToDeath(this);
gCarStats = nullptr;
}
}
};
static sp<CarStatsDeathRecipient> gDeathRecipient = new CarStatsDeathRecipient();
static sp<ICarStatsService> getCarService() {
std::lock_guard<std::mutex> lock(gCarStatsMutex);
if (!gCarStats) {
const sp<IBinder> binder = defaultServiceManager()->checkService(String16("car_stats"));
if (!binder) {
ALOGW("Car service is unavailable");
return nullptr;
}
gCarStats = interface_cast<ICarStatsService>(binder);
binder->linkToDeath(gDeathRecipient);
}
return gCarStats;
}
CarStatsPuller::CarStatsPuller(const int tagId) : StatsPuller(tagId) {
}
bool CarStatsPuller::PullInternal(std::vector<std::shared_ptr<LogEvent>>* data) {
const sp<ICarStatsService> carService = getCarService();
if (!carService) {
return false;
}
vector<StatsLogEventWrapper> returned_value;
Status status = carService->pullData(mTagId, &returned_value);
if (!status.isOk()) {
ALOGW("CarStatsPuller::pull failed for %d", mTagId);
return false;
}
data->clear();
for (const StatsLogEventWrapper& it : returned_value) {
LogEvent::createLogEvents(it, *data);
}
VLOG("CarStatsPuller::pull succeeded for %d", mTagId);
return true;
}
} // namespace statsd
} // namespace os
} // namespace android

View File

@@ -1,36 +0,0 @@
/*
* Copyright 2019 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.
*/
#pragma once
#include "StatsPuller.h"
namespace android {
namespace os {
namespace statsd {
/**
* Pull atoms from CarService.
*/
class CarStatsPuller : public StatsPuller {
public:
explicit CarStatsPuller(const int tagId);
bool PullInternal(std::vector<std::shared_ptr<LogEvent>>* data) override;
};
} // namespace statsd
} // namespace os
} // namespace android

View File

@@ -32,7 +32,6 @@
#include "../logd/LogEvent.h"
#include "../stats_log_util.h"
#include "../statscompanion_util.h"
#include "CarStatsPuller.h"
#include "GpuStatsPuller.h"
#include "PowerStatsPuller.h"
#include "ResourceHealthManagerPuller.h"
@@ -95,11 +94,6 @@ std::map<PullerKey, PullAtomInfo> StatsPullerManager::kAllPullAtomInfo = {
// GpuStatsAppInfo
{{.atomTag = android::util::GPU_STATS_APP_INFO},
{.puller = new GpuStatsPuller(android::util::GPU_STATS_APP_INFO)}},
// VmsClientStats
{{.atomTag = android::util::VMS_CLIENT_STATS},
{.additiveFields = {5, 6, 7, 8, 9, 10},
.puller = new CarStatsPuller(android::util::VMS_CLIENT_STATS)}},
};
StatsPullerManager::StatsPullerManager() : mNextPullTimeNs(NO_ALARM_UPDATE) {

View File

@@ -7,8 +7,3 @@ filegroup {
name: "IDropBoxManagerService.aidl",
srcs: ["com/android/internal/os/IDropBoxManagerService.aidl"],
}
filegroup {
name: "ICarStatsService.aidl",
srcs: ["com/android/internal/car/ICarStatsService.aidl"],
}

View File

@@ -1,31 +0,0 @@
/*
* Copyright (C) 2019 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.
*/
package com.android.internal.car;
import android.os.StatsLogEventWrapper;
/**
* Interface for pulling statsd atoms from automotive devices.
*
* @hide
*/
interface ICarStatsService {
/**
* Pull the specified atom. Results will be sent to statsd when complete.
*/
StatsLogEventWrapper[] pullData(int atomId);
}