Closed
Bug 1337022
Opened 9 years ago
Closed 8 years ago
Fix the regex in the Telemetry event parser
Categories
(Toolkit :: Telemetry, defect, P3)
Toolkit
Telemetry
Tracking
()
RESOLVED
FIXED
mozilla55
People
(Reporter: Dexter, Assigned: fedepad)
References
Details
(Whiteboard: [measurement:client])
Attachments
(1 file)
The current regular expression in the Telemetry events doc doesn't match [1] the provided example data (e.g. "ui").
> ^[:alpha:][:alnum:_.]+[:alnum:]$
We should fix the regex and update the schemas that live at [2]
[1] - https://gecko.readthedocs.io/en/latest/toolkit/components/telemetry/telemetry/collection/events.html
[2] - https://github.com/mozilla-services/mozilla-pipeline-schemas
Comment 1•9 years ago
|
||
The regex in parse_events.py is too strict here.
We should change it and update the docs.
Priority: -- → P1
Summary: Fix the regex in the Telemetry event docs → Fix the regex in the Telemetry event parser
Updated•8 years ago
|
Priority: P1 → P2
Updated•8 years ago
|
Priority: P2 → P3
| Assignee | ||
Comment 2•8 years ago
|
||
(In reply to Georg Fritzsche [:gfritzsche] [at workweek] from comment #1)
> The regex in parse_events.py is too strict here.
> We should change it and update the docs.
I think I have an idea on how to change minimally the "IDENTIFIER_PATTERN" in parse_events.py to match also on "ui" and update the docs.
But I have no idea about the schemas Alessio is talking....should also this patch supposed to take care of those too?
And who should I put as a reviewer after I push for review?
Thanks!
| Reporter | ||
Comment 3•8 years ago
|
||
(In reply to Federico Padua (fedepad) from comment #2)
> (In reply to Georg Fritzsche [:gfritzsche] [at workweek] from comment #1)
> > The regex in parse_events.py is too strict here.
> > We should change it and update the docs.
>
> I think I have an idea on how to change minimally the "IDENTIFIER_PATTERN"
> in parse_events.py to match also on "ui" and update the docs.
>
> But I have no idea about the schemas Alessio is talking....should also this
> patch supposed to take care of those too?
The schemas are linked in comment 0. Once this patch is r+, we can work on a PR to update the schemas there.
You can put Georg or me as reviewers.
| Comment hidden (mozreview-request) |
| Reporter | ||
Updated•8 years ago
|
Assignee: nobody → federico_padua
Status: NEW → ASSIGNED
Hello! Seems like I figured it out. I propose this new regex: "^[a-z]+[a-z0-9]*[_.]?[a-z0-9]+$"
I've tested it:
import re
mylist = ["ui","u","ui_","_ui","ui8","8u","8","qwert","qw_ty","qw_8","qw.9m","u8u_8g","8u_g"]
for x in mylist:
match = re.search("^[a-z]+[a-z0-9]*[_.]?[a-z0-9]+$",x)
if match:
print x + " is fine"
else:
print x + " is not!"
And the output is:
ui is fine
u is not!
ui_ is not!
_ui is not!
ui8 is fine
8u is not!
8 is not!
qwert is fine
qw_ty is fine
qw_8 is fine
qw.9m is fine
u8u_8g is fine
8u_g is not!
If the fine outputs are eligible, I'd like to be assigned to this bug and submit a patch.
Hello! I propose this new regex: "^[a-z]+[a-z0-9]*[_.]?[a-z0-9]+$"
I've tested it:
import re
mylist = ["ui","u","ui_","_ui","ui8","8u","8","qwert","qw_ty","qw_8","qw.9m","u8u_8g","8u_g"]
for x in mylist:
match = re.search("^[a-zA-Z]+[a-zA-Z0-9]*[_.]?[a-zA-Z0-9]+$",x)
if match:
print x + " is fine"
else:
print x + " is not!"
And the output is:
ui is fine
u is not!
ui_ is not!
_ui is not!
ui8 is fine
8u is not!
8 is not!
qwert is fine
qw_ty is fine
qw_8 is fine
qw.9m is fine
u8u_8g is fine
8u_g is not!
If the fine outputs are eligible, I'd like to be assigned to this bug and submit a patch.
Flags: needinfo?(gfritzsche)
Flags: needinfo?(alessio.placitelli)
Comment 7•8 years ago
|
||
Hi Daria!
It looks Federico is already working on this bug. I'll follow up separately with a recommendation for a different bug.
Flags: needinfo?(gfritzsche)
Flags: needinfo?(alessio.placitelli)
| Reporter | ||
Comment 8•8 years ago
|
||
Sunah, does the suggested regex (reported below) look sane to you?
> ^[:alpha:][:alnum:_.]*[:alnum:]$
The original one fails to validate the example identifiers reported in the docs (e.g. "ui"):
> ^[:alpha:][:alnum:_.]+[:alnum:]$
Flags: needinfo?(ssuh)
Makes sense to me -- parsing this in plain English for my own understanding: the old regex required an alphabetical character as the first character and an alphanumeric character as the last character, and *required* at least one more character in the middle that's alphanumeric or underscore or period. The new regex allows the absence of a middle character.
One thing to note is that the regex still requires the string to be at least 2 characters (which seems like an acceptable limitation to me, at least.)
| Reporter | ||
Comment 11•8 years ago
|
||
| mozreview-review | ||
Comment on attachment 8848474 [details]
Bug 1337022 - Fix the regex in the Telemetry event parser.
https://reviewboard.mozilla.org/r/121400/#review125546
Thanks Federico, sorry for the delay!
Attachment #8848474 -
Flags: review?(alessio.placitelli) → review+
| Assignee | ||
Comment 12•8 years ago
|
||
| mozreview-review-reply | ||
Comment on attachment 8848474 [details]
Bug 1337022 - Fix the regex in the Telemetry event parser.
https://reviewboard.mozilla.org/r/121400/#review125546
No problem! Trigger try builds just in case! And let me know if needs rebase...
Comment 13•8 years ago
|
||
Pushed by alessio.placitelli@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/c0a377462d47
Fix the regex in the Telemetry event parser. r=Dexter
| Reporter | ||
Comment 14•8 years ago
|
||
(In reply to Federico Padua (fedepad) from comment #12)
> Comment on attachment 8848474 [details]
> Bug 1337022 - Fix the regex in the Telemetry event parser.
>
> https://reviewboard.mozilla.org/r/121400/#review125546
>
> No problem! Trigger try builds just in case! And let me know if needs
> rebase...
Pheew, no need for a rebased patch ;-) There's just one bit of work left to do.
Would you kindly file a PR against [1] to add the event id regex to the main ping schema [2] so that we can properly validate stuff that comes in?
Feel free to flag me as a reviewer there too.
[1] - https://github.com/mozilla-services/mozilla-pipeline-schemas
[2] - https://github.com/mozilla-services/mozilla-pipeline-schemas/blob/master/telemetry/main.schema.json#L841
| Reporter | ||
Updated•8 years ago
|
Flags: needinfo?(federico_padua)
| Assignee | ||
Comment 15•8 years ago
|
||
Should be ready.
So I just a need to open a PR on GitHub?
And with what title and commit message? I guess should be related to this but maybe not the same title, etc....
Let me know and I will open it soon!
Flags: needinfo?(federico_padua) → needinfo?(alessio.placitelli)
| Reporter | ||
Comment 16•8 years ago
|
||
Yes, just open a PR on Github.
"Add regex validation to Telemetry events" could work as title/commit message. Feel free to add additional lines to the commit message as you consider appropriate.
Flags: needinfo?(alessio.placitelli)
Comment 17•8 years ago
|
||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
status-firefox55:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
| Reporter | ||
Comment 18•8 years ago
|
||
The PR for the schema lives here: https://github.com/mozilla-services/mozilla-pipeline-schemas/pull/34
Updated•8 years ago
|
status-firefox54:
affected → ---
Updated•8 years ago
|
status-firefox54:
--- → wontfix
You need to log in
before you can comment on or make changes to this bug.
Description
•