-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
e0f1e3b
commit 497fd5f
Showing
15 changed files
with
845 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
164 changes: 164 additions & 0 deletions
164
src/main/proto/wfa/measurement/reporting/v2alpha/advanced_report.proto
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
// Copyright 2024 The Cross-Media Measurement Authors | ||
// | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
syntax = "proto3"; | ||
|
||
package wfa.measurement.reporting.v2alpha; | ||
|
||
import "google/api/field_behavior.proto"; | ||
import "google/api/resource.proto"; | ||
import "google/protobuf/timestamp.proto"; | ||
import "wfa/measurement/reporting/v2alpha/media_type.proto"; | ||
import "wfa/measurement/reporting/v2alpha/metric_frequency_spec.proto"; | ||
import "wfa/measurement/reporting/v2alpha/reporting_impression_qualification_filter.proto"; | ||
import "wfa/measurement/reporting/v2alpha/reporting_interval.proto"; | ||
|
||
option java_package = "org.wfanet.measurement.reporting.v2alpha"; | ||
option java_multiple_files = true; | ||
option java_outer_classname = "AdvancedReportProto"; | ||
|
||
// Resource representing a AdvancedReport. | ||
// | ||
// When an AdvancedReport is created a suite of metrics is precomputed. | ||
// Once complete these are made available via the Query method. | ||
message AdvancedReport { | ||
option (google.api.resource) = { | ||
type: "reporting.halo-cmm.org/AdvancedReport" | ||
pattern: "measurementConsumers/{measurement_consumer}/advancedReports/{advanced_report}" | ||
singular: "advancedReport" | ||
plural: "advancedReports" | ||
}; | ||
|
||
// Resource name. | ||
string name = 1 [(google.api.field_behavior) = IDENTIFIER]; | ||
|
||
// Human readable title of the report. | ||
string title = 2 [ | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = OPTIONAL | ||
]; | ||
|
||
// The set of Reporting Sets for which the Advanced Report is | ||
// created. | ||
// | ||
// The Reporting Sets must be either primitive or be a union of Reporting Sets | ||
// that are either primitive or unions of other Reporting Sets. Filters may | ||
// not be specified. | ||
// | ||
// Upon creation of the Advanced Report, any metric for any subset of these | ||
// may be queried. | ||
repeated string reporting_sets = 3 [ | ||
(google.api.resource_reference) = { | ||
type: "reporting.halo-cmm.org/ReportingSet" | ||
}, | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = REQUIRED | ||
]; | ||
|
||
// The interval that the Report spans | ||
// | ||
// The report_end is extended for live reports as new data | ||
// becomes available. | ||
ReportingInterval reporting_interval = 4 | ||
[(google.api.field_behavior) = REQUIRED]; | ||
|
||
// Specifies how to calculate precomputed report metrics | ||
// | ||
// This spec places limits on how the report can be queried after | ||
// it is created. For example if the metric_frequency_specs only | ||
// includes `total` then no metrics are computed for any subinterval of | ||
// the report. | ||
message CalculationSpec { | ||
// The set of Media Types to report on. If empty report on all | ||
// MediaTypes. | ||
repeated MediaType media_types = 1 [ | ||
(google.api.field_behavior) = REQUIRED, | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = UNORDERED_LIST | ||
]; | ||
|
||
// The set of impression qualification filters to be applied. | ||
// | ||
// Defaults are appended as the Measurement Policy requires. | ||
repeated ReportingImpressionQualificationFilter | ||
impression_qualification_filters = 2 [ | ||
(google.api.field_behavior) = OPTIONAL, | ||
(google.api.field_behavior) = IMMUTABLE | ||
]; | ||
|
||
// The metric subintervals to include in the report | ||
repeated MetricFrequencySpec metric_frequency_specs = 3 | ||
[(google.api.field_behavior) = IMMUTABLE]; | ||
|
||
// The maximum freuency to include in the report | ||
int32 max_frequency = 4 [(google.api.field_behavior) = IMMUTABLE]; | ||
} | ||
// Specifies how to precompute report metrics. | ||
CalculationSpec calculation_spec = 5; | ||
|
||
// Specifies whether and how the system tracks live campaigns. | ||
// | ||
// When live campaign tracking is enabled the system monitors the report's | ||
// underlying Event Groups and appends new data as it becomes available. | ||
message LiveCampaignTrackingSpec { | ||
// Specifies whether and how to export data when new data arrives. | ||
message ExportSpec { | ||
// The PageTemplate to use for exporting results | ||
// | ||
// When instantiating the template, The ReportingUnit is taken to be | ||
// the reporting_sets of the AdvancedReport. | ||
string page_template = 1 [ | ||
(google.api.resource_reference) = { | ||
type: "reporting.halo-cmm.org/PageTemplate" | ||
}, | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = REQUIRED | ||
]; | ||
|
||
// If true, the exported data set will include data from the | ||
// report's reporting_interval.start_time to the present. If | ||
// false only new data is exported. | ||
bool include_history = 2 [ | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = OPTIONAL | ||
]; | ||
} | ||
// ExportSpec | ||
ExportSpec export_spec = 1 [ | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = OPTIONAL | ||
]; | ||
} | ||
// Specifies that live campaign tracking is enabled and options for | ||
// how to handle newly arriving data. | ||
// | ||
// When enabled, metrics are appended as they become available, | ||
// and if an export spec is present they are automatically exported as well. | ||
LiveCampaignTrackingSpec live_campaign_tracking_spec = 6 [ | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = OPTIONAL | ||
]; | ||
|
||
// The time when the resource was created. | ||
google.protobuf.Timestamp create_time = 7 [ | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = OUTPUT_ONLY | ||
]; | ||
|
||
// The time when the resource was last updated. | ||
google.protobuf.Timestamp update_time = 8 [ | ||
(google.api.field_behavior) = IMMUTABLE, | ||
(google.api.field_behavior) = OUTPUT_ONLY | ||
]; | ||
} |
Oops, something went wrong.