Standalone TCA with EELF Logger
[dcaegen2/analytics/tca-gen2.git] / eelf-logger / eelf-logger-api / src / main / java / org / onap / dcae / utils / eelf / logger / api / info / RequestTimingLogInfo.java
1 /*
2  * ================================================================================
3  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * ============LICENSE_END=========================================================
17  *
18  */
19
20 package org.onap.dcae.utils.eelf.logger.api.info;
21
22 import java.util.Date;
23
24 /**
25  * Captures Logging fields required for request timing related information
26  *
27  * @author Rajiv Singla
28  */
29 public interface RequestTimingLogInfo extends LogInfo {
30
31     /**
32      * Required field containing creationTimestamp when the request processing started.
33      * The value should be represented in UTC and formatted according to ISO 8601.
34      * <p>
35      * <b>Example: 2015-06-03T13:21:58+00:00</b>
36      * </p>
37      *
38      * @return request activity begin creationTimestamp
39      */
40     Date getBeginTimestamp();
41
42
43     /**
44      * Required field containing creationTimestamp when the request processed stopped.
45      * The value should be represented in UTC and formatted according to ISO 8601.
46      * <p>
47      * <b>Example: 2015-06-03T13:21:58+00:00</b>
48      * </p>
49      *
50      * @return request activity end creationTimestamp
51      */
52     Date getEndTimestamp();
53
54
55     /**
56      * Required field contains the elapsed time to complete processing of an API call or transaction request (e.g.,
57      * processing of a message that was received). This value should be the difference between EndTimestamp and
58      * BeginTimestamp fields and should be expressed in milliseconds.
59      *
60      * @return request processing elapsed time in milliseconds
61      */
62     Long getElapsedTime();
63
64 }