AlexaClientSDK  3.0.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Public Member Functions | Static Public Member Functions | List of all members
alexaClientSDK::metrics::implementations::MediaUplCalculator Class Reference

#include <MediaUplCalculator.h>

Inheritance diagram for alexaClientSDK::metrics::implementations::MediaUplCalculator:
Inheritance graph
[legend]
Collaboration diagram for alexaClientSDK::metrics::implementations::MediaUplCalculator:
Collaboration graph
[legend]

Public Member Functions

virtual ~MediaUplCalculator ()=default
 
std::shared_ptr< alexaClientSDK::avsCommon::utils::metrics::UplDatagetUplData () const
 
Overridden UplCaclulatorInterface method.
void inspectMetric (const std::shared_ptr< alexaClientSDK::avsCommon::utils::metrics::MetricEvent > &metricEvent) override
 
void setUplData (const std::shared_ptr< alexaClientSDK::avsCommon::utils::metrics::UplData > &uplData) override
 
- Public Member Functions inherited from alexaClientSDK::avsCommon::utils::metrics::UplCalculatorInterface
virtual ~UplCalculatorInterface ()=default
 
virtual void inspectMetric (const std::shared_ptr< avsCommon::utils::metrics::MetricEvent > &metricEvent)=0
 

Static Public Member Functions

static std::unique_ptr< avsCommon::utils::metrics::UplCalculatorInterfacecreateMediaUplCalculator (std::shared_ptr< alexaClientSDK::avsCommon::utils::metrics::MetricRecorderInterface > metricRecorder)
 

Additional Inherited Members

- Public Types inherited from alexaClientSDK::avsCommon::utils::metrics::UplCalculatorInterface
using UplTimePoint = std::chrono::steady_clock::time_point
 Alias for convenience. More...
 
- Protected Attributes inherited from alexaClientSDK::avsCommon::utils::metrics::UplCalculatorInterface
std::shared_ptr< UplDatam_uplData
 

Detailed Description

This class implements a sample UPL calculator that calculates the time to a media related response, for example starting or stopping music. MediaUplCalculator needs BaseUplCalculator to be also running for it to calculate UPL correctly.

MediaUplCalculator separates Media UPL in three categories: PLAY, STOP, and PLAY_AFTER_TTS. Upon receiving the PLAYBACK_STARTED or PLAYBACK_STOPPED metric, if a TTS response played it substracts the TTS response's duration from the UPL duration then calculates UPL.

Constructor & Destructor Documentation

◆ ~MediaUplCalculator()

virtual alexaClientSDK::metrics::implementations::MediaUplCalculator::~MediaUplCalculator ( )
virtualdefault

Destructor

Member Function Documentation

◆ createMediaUplCalculator()

static std::unique_ptr<avsCommon::utils::metrics::UplCalculatorInterface> alexaClientSDK::metrics::implementations::MediaUplCalculator::createMediaUplCalculator ( std::shared_ptr< alexaClientSDK::avsCommon::utils::metrics::MetricRecorderInterface metricRecorder)
static

Create a MediaUplCalculator.

Parameters
metricRecorderis the MetricRecorder object to publish UPL metrics to.
Returns
A MediaUplCalculator.

◆ getUplData()

std::shared_ptr<alexaClientSDK::avsCommon::utils::metrics::UplData> alexaClientSDK::metrics::implementations::MediaUplCalculator::getUplData ( ) const

Returns the pointer to the collected UplData

Returns
UplData

◆ inspectMetric()

void alexaClientSDK::metrics::implementations::MediaUplCalculator::inspectMetric ( const std::shared_ptr< alexaClientSDK::avsCommon::utils::metrics::MetricEvent > &  metricEvent)
override

◆ setUplData()

void alexaClientSDK::metrics::implementations::MediaUplCalculator::setUplData ( const std::shared_ptr< alexaClientSDK::avsCommon::utils::metrics::UplData > &  uplData)
overridevirtual

Sets the uplData to the given pointer.

Parameters
uplDataObject to record in.

Implements alexaClientSDK::avsCommon::utils::metrics::UplCalculatorInterface.


The documentation for this class was generated from the following file:

AlexaClientSDK 3.0.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0