Transcoding: Log transcoder level metrics.
- Add transcoder-level metric logging through west world,
to monitor performance and failures.
- Add new unit tests for TranscodingLogger class.
Bug: 179274112
Test: New and existing unit tests.
Change-Id: Ie8d9bc589c714a7b8be8f4f298c4fa75a81a6e56
diff --git a/services/mediatranscoding/MediaTranscodingService.cpp b/services/mediatranscoding/MediaTranscodingService.cpp
index cca36fb..4433f33 100644
--- a/services/mediatranscoding/MediaTranscodingService.cpp
+++ b/services/mediatranscoding/MediaTranscodingService.cpp
@@ -24,6 +24,7 @@
#include <cutils/properties.h>
#include <media/TranscoderWrapper.h>
#include <media/TranscodingClientManager.h>
+#include <media/TranscodingLogger.h>
#include <media/TranscodingResourcePolicy.h>
#include <media/TranscodingSessionController.h>
#include <media/TranscodingThermalPolicy.h>
@@ -44,15 +45,17 @@
MediaTranscodingService::MediaTranscodingService(bool simulated)
: mUidPolicy(new TranscodingUidPolicy()),
mResourcePolicy(new TranscodingResourcePolicy()),
- mThermalPolicy(new TranscodingThermalPolicy()) {
+ mThermalPolicy(new TranscodingThermalPolicy()),
+ mLogger(new TranscodingLogger()) {
ALOGV("MediaTranscodingService is created");
mSessionController.reset(new TranscodingSessionController(
- [simulated](const std::shared_ptr<TranscoderCallbackInterface>& cb,
- int64_t heartBeatUs) -> std::shared_ptr<TranscoderInterface> {
+ [simulated, logger = mLogger](
+ const std::shared_ptr<TranscoderCallbackInterface>& cb,
+ int64_t heartBeatUs) -> std::shared_ptr<TranscoderInterface> {
if (simulated) {
return std::make_shared<SimulatedTranscoder>(cb, heartBeatUs);
}
- return std::make_shared<TranscoderWrapper>(cb, heartBeatUs);
+ return std::make_shared<TranscoderWrapper>(cb, logger, heartBeatUs);
},
mUidPolicy, mResourcePolicy, mThermalPolicy));
mClientManager.reset(new TranscodingClientManager(mSessionController));
diff --git a/services/mediatranscoding/MediaTranscodingService.h b/services/mediatranscoding/MediaTranscodingService.h
index d024c54..9384641 100644
--- a/services/mediatranscoding/MediaTranscodingService.h
+++ b/services/mediatranscoding/MediaTranscodingService.h
@@ -29,6 +29,7 @@
using ::aidl::android::media::TranscodingRequestParcel;
using ::aidl::android::media::TranscodingSessionParcel;
class TranscodingClientManager;
+class TranscodingLogger;
class TranscodingSessionController;
class UidPolicyInterface;
class ResourcePolicyInterface;
@@ -62,6 +63,7 @@
std::shared_ptr<UidPolicyInterface> mUidPolicy;
std::shared_ptr<ResourcePolicyInterface> mResourcePolicy;
std::shared_ptr<ThermalPolicyInterface> mThermalPolicy;
+ std::shared_ptr<TranscodingLogger> mLogger;
std::shared_ptr<TranscodingSessionController> mSessionController;
std::shared_ptr<TranscodingClientManager> mClientManager;
};
diff --git a/services/mediatranscoding/SimulatedTranscoder.cpp b/services/mediatranscoding/SimulatedTranscoder.cpp
index db83ccb..0151b3d 100644
--- a/services/mediatranscoding/SimulatedTranscoder.cpp
+++ b/services/mediatranscoding/SimulatedTranscoder.cpp
@@ -59,6 +59,7 @@
void SimulatedTranscoder::start(
ClientIdType clientId, SessionIdType sessionId, const TranscodingRequestParcel& request,
+ uid_t /*callingUid*/,
const std::shared_ptr<ITranscodingClientCallback>& /*clientCallback*/) {
{
auto lock = std::scoped_lock(mLock);
@@ -91,6 +92,7 @@
void SimulatedTranscoder::resume(
ClientIdType clientId, SessionIdType sessionId, const TranscodingRequestParcel& /*request*/,
+ uid_t /*callingUid*/,
const std::shared_ptr<ITranscodingClientCallback>& /*clientCallback*/) {
queueEvent(Event::Resume, clientId, sessionId, [=] {
auto callback = mCallback.lock();
diff --git a/services/mediatranscoding/SimulatedTranscoder.h b/services/mediatranscoding/SimulatedTranscoder.h
index 010f0f0..6990576 100644
--- a/services/mediatranscoding/SimulatedTranscoder.h
+++ b/services/mediatranscoding/SimulatedTranscoder.h
@@ -55,11 +55,11 @@
// TranscoderInterface
void start(ClientIdType clientId, SessionIdType sessionId,
- const TranscodingRequestParcel& request,
+ const TranscodingRequestParcel& request, uid_t callingUid,
const std::shared_ptr<ITranscodingClientCallback>& clientCallback) override;
void pause(ClientIdType clientId, SessionIdType sessionId) override;
void resume(ClientIdType clientId, SessionIdType sessionId,
- const TranscodingRequestParcel& request,
+ const TranscodingRequestParcel& request, uid_t callingUid,
const std::shared_ptr<ITranscodingClientCallback>& clientCallback) override;
void stop(ClientIdType clientId, SessionIdType sessionId, bool abandon = false) override;
// ~TranscoderInterface