AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
DataPointDurationBuilder.h
Go to the documentation of this file.
1 /*
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License").
5  * You may not use this file except in compliance with the License.
6  * A copy of the License is located at
7  *
8  * http://aws.amazon.com/apache2.0/
9  *
10  * or in the "license" file accompanying this file. This file is distributed
11  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12  * express or implied. See the License for the specific language governing
13  * permissions and limitations under the License.
14  */
15 #ifndef ALEXA_CLIENT_SDK_AVSCOMMON_UTILS_INCLUDE_AVSCOMMON_UTILS_METRICS_DATAPOINTDURATIONBUILDER_H_
16 #define ALEXA_CLIENT_SDK_AVSCOMMON_UTILS_INCLUDE_AVSCOMMON_UTILS_METRICS_DATAPOINTDURATIONBUILDER_H_
17 
18 #include <chrono>
19 
21 
22 namespace alexaClientSDK {
23 namespace avsCommon {
24 namespace utils {
25 namespace metrics {
26 
31 public:
36 
43  explicit DataPointDurationBuilder(std::chrono::milliseconds duration);
44 
51  DataPointDurationBuilder& setName(const std::string& name);
52 
60 
69 
77  DataPoint build();
78 
79 private:
80  // The current name of the dataPoint timer builder
81  std::string m_name;
82 
83  // The current duration of the dataPoint timer builder
84  std::chrono::milliseconds m_duration;
85 
86  // The start time value of the dataPoint timer builder
87  std::chrono::steady_clock::time_point m_startTime;
88 
89  // The flag to indicate if startDurationTimer is running
90  bool m_isStartDurationTimerRunning;
91 };
92 
93 } // namespace metrics
94 } // namespace utils
95 } // namespace avsCommon
96 } // namespace alexaClientSDK
97 
98 #endif // ALEXA_CLIENT_SDK_AVSCOMMON_UTILS_INCLUDE_AVSCOMMON_UTILS_METRICS_DATAPOINTDURATIONBUILDER_H_
DataPoint build()
Definition: DataPointDurationBuilder.cpp:72
DataPointDurationBuilder & startDurationTimer()
Definition: DataPointDurationBuilder.cpp:54
DataPointDurationBuilder()
Definition: DataPointDurationBuilder.cpp:35
DataPointDurationBuilder & stopDurationTimer()
Definition: DataPointDurationBuilder.cpp:60
Whether or not curl logs should be emitted.
Definition: AVSConnectionManager.h:36
DataPointDurationBuilder & setName(const std::string &name)
Definition: DataPointDurationBuilder.cpp:49

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