Skip to content

Commit d214ec0

Browse files
authored
PIR: V1 observability pixels (#7102)
Task/Issue URL: https://app.asana.com/1/137249556945/project/488551667048375/task/1211863510648437?focus=true ### Description See attached task description ### Steps to test this PR No testing needed for this PR: Testing should be done on the stacked PRs.
1 parent 8e7b113 commit d214ec0

31 files changed

+4176
-83
lines changed
Lines changed: 264 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
{
2+
"dbp_optout_process_submit-success": {
3+
"description": "Fired when an opt-out submission succeeds.",
4+
"owners": ["karlenDimla", "landomen"],
5+
"triggers": ["other"],
6+
"suffixes": ["form_factor"],
7+
"parameters": [
8+
"appVersion",
9+
{
10+
"key": "data_broker",
11+
"description": "The URL of the data broker that this opt-out attempt targets",
12+
"type": "string"
13+
},
14+
{
15+
"key": "parent",
16+
"description": "The parent data broker of the one this opt-out attempt targets",
17+
"type": "string"
18+
},
19+
{
20+
"key": "attempt_id",
21+
"description": "Client-generated ID of the opt-out attempt",
22+
"type": "string"
23+
},
24+
{
25+
"key": "duration",
26+
"description": "Total duration of the opt-out attempt in milliseconds",
27+
"type": "string"
28+
},
29+
{
30+
"key": "tries",
31+
"description": "The number of tries it took to submit successfully",
32+
"type": "string"
33+
},
34+
{
35+
"key": "pattern",
36+
"description": "Email pattern used during submission, when available",
37+
"type": "string"
38+
},
39+
{
40+
"key": "vpn_connection_state",
41+
"description": "Reported VPN connection state when the submission succeeded",
42+
"type": "string"
43+
},
44+
{
45+
"key": "vpn_bypass",
46+
"description": "VPN bypass status when the submission succeeded",
47+
"type": "string",
48+
"enum": ["on", "off", "unsupported"]
49+
}
50+
]
51+
},
52+
"dbp_optout_process_failure": {
53+
"description": "Fired when an opt-out attempt fails.",
54+
"owners": ["karlenDimla", "landomen"],
55+
"triggers": ["other"],
56+
"suffixes": ["form_factor"],
57+
"parameters": [
58+
"appVersion",
59+
{
60+
"key": "data_broker",
61+
"description": "The URL of the data broker that this opt-out attempt targets",
62+
"type": "string"
63+
},
64+
{
65+
"key": "parent",
66+
"description": "The parent data broker of the one this opt-out attempt targets",
67+
"type": "string"
68+
},
69+
{
70+
"key": "broker_version",
71+
"description": "The version of the broker JSON file",
72+
"type": "string"
73+
},
74+
{
75+
"key": "attempt_id",
76+
"description": "Client-generated ID of the opt-out attempt",
77+
"type": "string"
78+
},
79+
{
80+
"key": "duration",
81+
"description": "Total duration of the opt-out attempt in milliseconds",
82+
"type": "string"
83+
},
84+
{
85+
"key": "stage",
86+
"description": "The stage where the failure occurred",
87+
"type": "string"
88+
},
89+
{
90+
"key": "tries",
91+
"description": "The number of tries recorded when the failure happened",
92+
"type": "string"
93+
},
94+
{
95+
"key": "pattern",
96+
"description": "Email pattern used during the attempt, when available",
97+
"type": "string"
98+
},
99+
{
100+
"key": "action_id",
101+
"description": "Predefined identifier of the broker action that failed",
102+
"type": "string"
103+
},
104+
{
105+
"key": "action_type",
106+
"description": "Type of action that failed",
107+
"type": "string",
108+
"enum": [
109+
"extract",
110+
"navigate",
111+
"fillForm",
112+
"click",
113+
"expectation",
114+
"emailConfirmation",
115+
"getCaptchaInfo",
116+
"solveCaptcha",
117+
"condition"
118+
]
119+
},
120+
{
121+
"key": "vpn_connection_state",
122+
"description": "Reported VPN connection state when the failure happened",
123+
"type": "string"
124+
},
125+
{
126+
"key": "vpn_bypass",
127+
"description": "VPN bypass status when the failure happened",
128+
"type": "string",
129+
"enum": ["on", "off", "unsupported"]
130+
}
131+
]
132+
},
133+
"dbp_databroker_custom_stats_optoutsubmit": {
134+
"description": "Pixel that contains a broker's opt-out 24h submission success rate.",
135+
"owners": ["karlenDimla", "landomen"],
136+
"triggers": ["other"],
137+
"suffixes": ["form_factor"],
138+
"parameters": [
139+
"appVersion",
140+
{
141+
"key": "data_broker",
142+
"description": "The URL of the data broker that this opt-out attempt targets",
143+
"type": "string"
144+
},
145+
{
146+
"key": "optout_submit_success_rate",
147+
"description": "The success rate of how many opt-out jobs successfully requested within 24 hours of creation",
148+
"type": "string"
149+
}
150+
]
151+
},
152+
"dbp_optoutjob_at-7-days_confirmed": {
153+
"description": "Pixel that contains if any submitted opt-out has been confirmed 7 days after submission.",
154+
"owners": ["karlenDimla", "landomen"],
155+
"triggers": ["other"],
156+
"suffixes": ["form_factor"],
157+
"parameters": [
158+
"appVersion",
159+
{
160+
"key": "data_broker",
161+
"description": "The URL of the data broker that has a confirmed opt-out after 7 days",
162+
"type": "string"
163+
}
164+
]
165+
},
166+
"dbp_optoutjob_at-7-days_unconfirmed": {
167+
"description": "Pixel that contains if any submitted opt-out are still unconfirmed 7 days after submission.",
168+
"owners": ["karlenDimla", "landomen"],
169+
"triggers": ["other"],
170+
"suffixes": ["form_factor"],
171+
"parameters": [
172+
"appVersion",
173+
{
174+
"key": "data_broker",
175+
"description": "The URL of the data broker that has an unconfirmed opt-out after 7 days",
176+
"type": "string"
177+
}
178+
]
179+
},
180+
"dbp_optoutjob_at-14-days_confirmed": {
181+
"description": "Pixel that contains if any submitted opt-out has been confirmed 14 days after submission.",
182+
"owners": ["karlenDimla", "landomen"],
183+
"triggers": ["other"],
184+
"suffixes": ["form_factor"],
185+
"parameters": [
186+
"appVersion",
187+
{
188+
"key": "data_broker",
189+
"description": "The URL of the data broker that has a confirmed opt-out after 14 days",
190+
"type": "string"
191+
}
192+
]
193+
},
194+
"dbp_optoutjob_at-14-days_unconfirmed": {
195+
"description": "Pixel that contains if any submitted opt-out are still unconfirmed 14 days after submission.",
196+
"owners": ["karlenDimla", "landomen"],
197+
"triggers": ["other"],
198+
"suffixes": ["form_factor"],
199+
"parameters": [
200+
"appVersion",
201+
{
202+
"key": "data_broker",
203+
"description": "The URL of the data broker that has an unconfirmed opt-out after 14 days",
204+
"type": "string"
205+
}
206+
]
207+
},
208+
"dbp_optoutjob_at-21-days_confirmed": {
209+
"description": "Pixel that contains if any submitted opt-out has been confirmed 21 days after submission.",
210+
"owners": ["karlenDimla", "landomen"],
211+
"triggers": ["other"],
212+
"suffixes": ["form_factor"],
213+
"parameters": [
214+
"appVersion",
215+
{
216+
"key": "data_broker",
217+
"description": "The URL of the data broker that has a confirmed opt-out after 21 days",
218+
"type": "string"
219+
}
220+
]
221+
},
222+
"dbp_optoutjob_at-21-days_unconfirmed": {
223+
"description": "Pixel that contains if any submitted opt-out are still unconfirmed 21 days after submission.",
224+
"owners": ["karlenDimla", "landomen"],
225+
"triggers": ["other"],
226+
"suffixes": ["form_factor"],
227+
"parameters": [
228+
"appVersion",
229+
{
230+
"key": "data_broker",
231+
"description": "The URL of the data broker that has an unconfirmed opt-out after 21 days",
232+
"type": "string"
233+
}
234+
]
235+
},
236+
"dbp_optoutjob_at-42-days_confirmed": {
237+
"description": "Pixel that contains if any submitted opt-out has been confirmed 42 days after submission.",
238+
"owners": ["karlenDimla", "landomen"],
239+
"triggers": ["other"],
240+
"suffixes": ["form_factor"],
241+
"parameters": [
242+
"appVersion",
243+
{
244+
"key": "data_broker",
245+
"description": "The URL of the data broker that has a confirmed opt-out after 42 days",
246+
"type": "string"
247+
}
248+
]
249+
},
250+
"dbp_optoutjob_at-42-days_unconfirmed": {
251+
"description": "Pixel that contains if any submitted opt-out are still unconfirmed 42 days after submission.",
252+
"owners": ["karlenDimla", "landomen"],
253+
"triggers": ["other"],
254+
"suffixes": ["form_factor"],
255+
"parameters": [
256+
"appVersion",
257+
{
258+
"key": "data_broker",
259+
"description": "The URL of the data broker that has an unconfirmed opt-out after 42 days",
260+
"type": "string"
261+
}
262+
]
263+
}
264+
}

pir/pir-impl/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ dependencies {
7070
testImplementation AndroidX.test.ext.junit
7171
testImplementation Testing.robolectric
7272
testImplementation "androidx.lifecycle:lifecycle-runtime-testing:_"
73+
testImplementation AndroidX.work.testing
7374
testImplementation(KotlinX.coroutines.test) {
7475
// https://github.com/Kotlin/kotlinx.coroutines/issues/2023
7576
// conflicts with mockito due to direct inclusion of byte buddy

0 commit comments

Comments
 (0)