1 /*
2  * Copyright (C) 2022 The Android Open Source Project
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  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.adservices.service.stats;
18 
19 import com.google.auto.value.AutoValue;
20 
21 /** Class for runAdBiddingPerCA process reported stats. */
22 @AutoValue
23 public abstract class RunAdBiddingPerCAProcessReportedStats {
24     /** @return num of ads for bidding. */
getNumOfAdsForBidding()25     public abstract int getNumOfAdsForBidding();
26 
27     /** @return runAdBiddingPerCA latency in milliseconds. */
getRunAdBiddingPerCaLatencyInMillis()28     public abstract int getRunAdBiddingPerCaLatencyInMillis();
29 
30     /** @return runAdBiddingPerCA result code. */
getRunAdBiddingPerCaResultCode()31     public abstract int getRunAdBiddingPerCaResultCode();
32 
33     /** @return getBuyerDecisionLogic script latency in milliseconds. */
getGetBuyerDecisionLogicLatencyInMillis()34     public abstract int getGetBuyerDecisionLogicLatencyInMillis();
35 
36     /** @return getBuyerDecisionLogic result code. */
getGetBuyerDecisionLogicResultCode()37     public abstract int getGetBuyerDecisionLogicResultCode();
38 
39     /** @return getBuyerDecisionLogic script type. */
getBuyerDecisionLogicScriptType()40     public abstract int getBuyerDecisionLogicScriptType();
41 
42     /** @return fetched buyer decision logic script size in bytes. */
getFetchedBuyerDecisionLogicScriptSizeInBytes()43     public abstract int getFetchedBuyerDecisionLogicScriptSizeInBytes();
44 
45     /** @return num of keys of trusted bidding signals. */
getNumOfKeysOfTrustedBiddingSignals()46     public abstract int getNumOfKeysOfTrustedBiddingSignals();
47 
48     /** @return fetched trusted bidding signals data size in bytes. */
getFetchedTrustedBiddingSignalsDataSizeInBytes()49     public abstract int getFetchedTrustedBiddingSignalsDataSizeInBytes();
50 
51     /** @return getTrustedBiddingSignals latency in milliseconds. */
getGetTrustedBiddingSignalsLatencyInMillis()52     public abstract int getGetTrustedBiddingSignalsLatencyInMillis();
53 
54     /** @return getTrustedBiddingSignals result code. */
getGetTrustedBiddingSignalsResultCode()55     public abstract int getGetTrustedBiddingSignalsResultCode();
56 
57     /** @return the total generateBids script execution time when runBidding() is called. */
getGenerateBidsLatencyInMillis()58     public abstract int getGenerateBidsLatencyInMillis();
59 
60     /** @return the overall latency of runBidding(). */
getRunBiddingLatencyInMillis()61     public abstract int getRunBiddingLatencyInMillis();
62 
63     /** @return the runBidding() result code. */
getRunBiddingResultCode()64     public abstract int getRunBiddingResultCode();
65 
66     /**
67      * @return the runAdBiddingPerCaReturnedAdCost.
68      */
getRunAdBiddingPerCaReturnedAdCost()69     public abstract boolean getRunAdBiddingPerCaReturnedAdCost();
70 
71     /**
72      * @return the generateBidBuyerAdditionalSignalsContainedDataVersion.
73      */
getGenerateBidBuyerAdditionalSignalsContainedDataVersion()74     public abstract boolean getGenerateBidBuyerAdditionalSignalsContainedDataVersion();
75 
76     /**
77      * @return the GenerateBid JsScript result code.
78      */
79     @AdsRelevanceStatusUtils.JsRunStatus
getGenerateBidJsScriptResultCode()80     public abstract int getGenerateBidJsScriptResultCode();
81 
82     /** @return generic builder. */
builder()83     static Builder builder() {
84         return new AutoValue_RunAdBiddingPerCAProcessReportedStats.Builder();
85     }
86 
87     /** Builder class for {@link RunAdBiddingPerCAProcessReportedStats}. */
88     @AutoValue.Builder
89     abstract static class Builder {
setNumOfAdsForBidding(int value)90         abstract Builder setNumOfAdsForBidding(int value);
91 
setRunAdBiddingPerCaLatencyInMillis(int value)92         abstract Builder setRunAdBiddingPerCaLatencyInMillis(int value);
93 
setRunAdBiddingPerCaResultCode(int value)94         abstract Builder setRunAdBiddingPerCaResultCode(int value);
95 
setGetBuyerDecisionLogicLatencyInMillis(int value)96         abstract Builder setGetBuyerDecisionLogicLatencyInMillis(int value);
97 
setGetBuyerDecisionLogicResultCode(int value)98         abstract Builder setGetBuyerDecisionLogicResultCode(int value);
99 
setBuyerDecisionLogicScriptType(int value)100         abstract Builder setBuyerDecisionLogicScriptType(int value);
101 
setFetchedBuyerDecisionLogicScriptSizeInBytes(int value)102         abstract Builder setFetchedBuyerDecisionLogicScriptSizeInBytes(int value);
103 
setNumOfKeysOfTrustedBiddingSignals(int value)104         abstract Builder setNumOfKeysOfTrustedBiddingSignals(int value);
105 
setFetchedTrustedBiddingSignalsDataSizeInBytes(int value)106         abstract Builder setFetchedTrustedBiddingSignalsDataSizeInBytes(int value);
107 
setGetTrustedBiddingSignalsLatencyInMillis(int value)108         abstract Builder setGetTrustedBiddingSignalsLatencyInMillis(int value);
109 
setGetTrustedBiddingSignalsResultCode(int value)110         abstract Builder setGetTrustedBiddingSignalsResultCode(int value);
111 
setGenerateBidsLatencyInMillis(int value)112         abstract Builder setGenerateBidsLatencyInMillis(int value);
113 
setRunBiddingLatencyInMillis(int value)114         abstract Builder setRunBiddingLatencyInMillis(int value);
115 
setRunBiddingResultCode(int value)116         abstract Builder setRunBiddingResultCode(int value);
117 
setRunAdBiddingPerCaReturnedAdCost(boolean value)118         abstract Builder setRunAdBiddingPerCaReturnedAdCost(boolean value);
119 
setGenerateBidBuyerAdditionalSignalsContainedDataVersion(boolean value)120         abstract Builder setGenerateBidBuyerAdditionalSignalsContainedDataVersion(boolean value);
121 
setGenerateBidJsScriptResultCode( @dsRelevanceStatusUtils.JsRunStatus int value)122         abstract Builder setGenerateBidJsScriptResultCode(
123                 @AdsRelevanceStatusUtils.JsRunStatus int value);
124 
build()125         abstract RunAdBiddingPerCAProcessReportedStats build();
126     }
127 }
128