Closed Bug 1484611 Opened Last year Closed Last year

Re-organize the dirs in the Telemetry module

Categories

(Toolkit :: Telemetry, enhancement, P1)

enhancement
Points:
2

Tracking

()

RESOLVED FIXED
mozilla64
Tracking Status
firefox63 --- wontfix
firefox64 --- fixed

People

(Reporter: Dexter, Assigned: Dexter)

References

(Blocks 2 open bugs)

Details

Attachments

(2 files)

The telemetry module directory (i.e. toolkit/components/telemetry) has a lot of files, which makes it hard to reason about its content and quickly understand what each file does.

One way to address this problem is to group these files in directories, hence ideally having no source file in the top source directory.

The files can mostly be grouped into the following areas:

* pings
* parsers
* generators
* core/storage (c++ core)
* app layer logic (JSMs like controller, send, ...)
* api
* ipc
* geckoview
* tests
* data/registries
* docs
* shared/utils

This bug is about settling on the directory names and landing the related changes to mozilla-central.
Assignee: nobody → alessio.placitelli
Priority: -- → P1
Points: --- → 2
Given the areas in the previous comment, I propose to group the files by the following dir layout:

> parsers:
> |- parse_*.py
> |- shared_telemetry_utils.py
> pings:
> |- TelemetrySession.jsm
> |- TelemetryEventPing.jsm
> |- TelemetryHealthPing.jsm 
> |- TelemetryModules.jsm 
> |- UpdatePing.jsm
> core
> |- CombinedStacks.*
> |- EventInfo.h
> |- KeyedStackCapturer.*
> |- nsITelemetry.idl
> |- ProcessedStacks.*
> |- ScalarInfo.h
> |- TelemetryCommon.*
> |- TelemetryArchive.jsm
> |- TelemetryController.jsm 
> |- TelemetryEnvironment.jsm (this could probably live in "pings")
> |- TelemetryEvent.*
> |- TelemetryHistogram.*
> |- TelemetryScalar.*
> |- TelemetryIOInterposeObserver.*
> |- TelemetryReportingPolicy.jsm
> |- TelemetrySend.jsm
> |- TelemetryStopwatch.jsm
> |- TelemetryUtils.jsm
> 3rd_party
> |- WebrtcTelemetry.*
> |- GCTelemetry.jsm
> |- UITelemetry.jsm
> top level dir:
> |- will retain the current dirs
> |- *-prefs.jsm
> |- gen_*_.py
> |- *.yaml
> |- *.json
> |- moz.build

I also propose to kill the "schemas" directory, which is both outdated and not used.

What do you think?
Flags: needinfo?(jrediger)
Flags: needinfo?(gfritzsche)
Flags: needinfo?(chutten)
With the pings directory we might want to extract the "optout" ping logic into its own file as well (-> followup)

3rd_party -> third_party?
Not included in above listing are `Telemetry.h` and `Telemetry.cpp`, which the one being our externally documented API and the other the core implementation, which defers to the underlying storage.

I wonder if we can draw a clear boundary between stuff like the storage and recording (*Event.*, *Histogram.*, *Scalar.*) and the runtime logic (TelemetryController.jsm, TelemetrySend.jsm, TelemetryStopwatch.jsm) and if it makes sense to split those up.
Flags: needinfo?(jrediger)
(In reply to Jan-Erik Rediger [:janerik] from comment #2)
> I wonder if we can draw a clear boundary between stuff like the storage and
> recording (*Event.*, *Histogram.*, *Scalar.*) and the runtime logic
> (TelemetryController.jsm, TelemetrySend.jsm, TelemetryStopwatch.jsm) and if
> it makes sense to split those up.

+1. Personally i would find it more clear to see the "core" and the "logic" parts to be split up.
Basically one is mostly the Telemetry core, the other is building application logic on top of it, which fits with how we are looking at the future Telemetry architecture.

(In reply to Alessio Placitelli [:Dexter] from comment #1)
> Given the areas in the previous comment, I propose to group the files by the
> following dir layout:
> 
> > parsers:
> > |- parse_*.py
> > |- shared_telemetry_utils.py

Can we add gen_*.py here and give it a different name?

> > 3rd_party
> > |- WebrtcTelemetry.*
> > |- GCTelemetry.jsm
> > |- UITelemetry.jsm

3rd party in our repository means "code from non mozilla entities", lets avoid that term.
Maybe just "other" for a start?
Can we add the various *Stack* files and TelemetryIOInterposeObserver here, to split them out of "core"? (If that requires discussion, lets do a follow-up.)

> > top level dir:
> > |- will retain the current dirs

Can you give a complete listing of how the telemetry directory would look including those?

> I also propose to kill the "schemas" directory, which is both outdated and
> not used.

+1
Flags: needinfo?(gfritzsche)
Blocks: 1484975
(In reply to Jan-Erik Rediger [:janerik] from comment #2)
> With the pings directory we might want to extract the "optout" ping logic
> into its own file as well (-> followup)

Good point. I filed 1484975.

> 3rd_party -> third_party?

I changed that to "other".

> Not included in above listing are `Telemetry.h` and `Telemetry.cpp`, which
> the one being our externally documented API and the other the core
> implementation, which defers to the underlying storage.
> 
> I wonder if we can draw a clear boundary between stuff like the storage and
> recording (*Event.*, *Histogram.*, *Scalar.*) and the runtime logic
> (TelemetryController.jsm, TelemetrySend.jsm, TelemetryStopwatch.jsm) and if
> it makes sense to split those up.

Good point, changed this.

(In reply to Georg Fritzsche [:gfritzsche] from comment #3)
> (In reply to Alessio Placitelli [:Dexter] from comment #1)
> > Given the areas in the previous comment, I propose to group the files by the
> > following dir layout:
> > 
> > > parsers:
> > > |- parse_*.py
> > > |- shared_telemetry_utils.py
> 
> Can we add gen_*.py here and give it a different name?

I'm a bit torn on this. Ideally, I think it might make sense to only keep in the "parsers" directory stuff that will eventually get transitioned to a separate GitHub repo.

While the gen_*.py script make use of the parsers, they are just m-c files that would "depend" on the parsers, hence the rationale for leaving them out. Maybe moving them to "core" might appropriate, if we don't want to leave them in the top dir.

> > > top level dir:
> > > |- will retain the current dirs
> 
> Can you give a complete listing of how the telemetry directory would look
> including those?

Sure, here's the updated layout:

> core:
> | * ipc (dir)
> |- EventInfo.h
> |- nsITelemetry.idl
> |- ScalarInfo.h
> |- TelemetryCommon.*
> |- TelemetryEvent.*
> |- TelemetryHistogram.*
> |- TelemetryScalar.*
> docs:
> geckoview:
> hybrid-content:
> logic
> |- TelemetryArchive.jsm
> |- TelemetryController.jsm 
> |- TelemetryEnvironment.jsm (this could probably live in "pings")
> |- TelemetryReportingPolicy.jsm
> |- TelemetrySend.jsm
> |- TelemetryStopwatch.jsm
> |- TelemetryUtils.jsm
> other
> |- TelemetryIOInterposeObserver.*
> |- CombinedStacks.*
> |- KeyedStackCapturer.*
> |- ProcessedStacks.*
> |- WebrtcTelemetry.*
> |- GCTelemetry.jsm
> |- UITelemetry.jsm
> parsers:
> |- parse_*.py
> |- shared_telemetry_utils.py
> pings:
> |- TelemetrySession.jsm
> |- TelemetryEventPing.jsm
> |- TelemetryHealthPing.jsm 
> |- TelemetryModules.jsm 
> |- UpdatePing.jsm
> pingsender:
> tests:
> top level dir:
> |- *-prefs.jsm
> |- gen_*_.py
> |- *.yaml
> |- *.json
> |- moz.build
Hard +1 on keeping gen*.py out of parsers/

shared_telemetry_utils.py has StringTable and static_assert which are tied closer to gen_*.py than to parse_*.py. Maybe a follow-up to split into parser_utils and generator_utils or whatever?

Not a fan of "logic" as a descriptor (it is a fine dir name: is short, has a unique first letter. But what it means and what it holds don't line up in my brain). How about "js/"? "app/"? "runtime/"? "persona/"? </bike-shed>

Gonna need a follow-up to true-up the ping modules' filenames? They all should follow the form Telemetry{pingName}Ping.jsm if they are an actual ping impl (Opinion. Bikeshed welcome).

Still not seeing where Telemetry.{h,cpp} is supposed to live. (presumably on / ?)

Parser tests will sit in tests/ for now? (follow-up to move them to parsers/ ? )

From a technical point of view: three subdirs start with "p". And we have one that is a substring of another (pings/ and pingsender/). I wonder how they'll tab-complete across the various shells in common use.

...can we get this in Google Doc form? I find myself wanting to comment on individual lines. I know docs aren't the friendliest for fixed-width fonts and stuff, but we can use indented unordered lists instead.
Flags: needinfo?(chutten)
(In reply to Chris H-C :chutten from comment #5)
> Hard +1 on keeping gen*.py out of parsers/
> 
> shared_telemetry_utils.py has StringTable and static_assert which are tied
> closer to gen_*.py than to parse_*.py. Maybe a follow-up to split into
> parser_utils and generator_utils or whatever?

Good point, I captured this in the doc. Let's see what other people think.

> Not a fan of "logic" as a descriptor (it is a fine dir name: is short, has a
> unique first letter. But what it means and what it holds don't line up in my
> brain). How about "js/"? "app/"? "runtime/"? "persona/"? </bike-shed>

Maybe "api"? I think Georg suggested this before.

> Gonna need a follow-up to true-up the ping modules' filenames? They all
> should follow the form Telemetry{pingName}Ping.jsm if they are an actual
> ping impl (Opinion. Bikeshed welcome).

I think I agree with you on this, and it should probably be a follow-up. I'll capture this in the doc.

> Still not seeing where Telemetry.{h,cpp} is supposed to live. (presumably on
> / ?)

Whoops, forgot to add them. They'll live in "core".

> Parser tests will sit in tests/ for now? (follow-up to move them to parsers/
> ? )

Yes, I think we can defer moving them to when/if we move the parsers out of m-c.

> From a technical point of view: three subdirs start with "p". And we have
> one that is a substring of another (pings/ and pingsender/). I wonder how
> they'll tab-complete across the various shells in common use.

Mh, I think we had similar problems right now with all the files starting with "Telemetry*".
Do you have any suggestion for the dir names?

> ...can we get this in Google Doc form? I find myself wanting to comment on
> individual lines. I know docs aren't the friendliest for fixed-width fonts
> and stuff, but we can use indented unordered lists instead.

There you go! https://docs.google.com/document/d/14xyP_MRvZJvzhgONGhdyYvOJm--6BLOWoMPWbb6nB80/edit#
See Also: → 837230
Duplicate of this bug: 837230
Hey Frank, while doing some cleaning around the Telemetry module, we found this file: https://searchfox.org/mozilla-central/source/toolkit/components/telemetry/gen-histogram-bucket-ranges.py

It doesn't appear to be used anywhere in the client code, are you aware of any dependencies upstream? Georg mentioned that you talked about that a few days ago.
Flags: needinfo?(fbertsch)
(In reply to Alessio Placitelli [:Dexter] from comment #8)
> Hey Frank, while doing some cleaning around the Telemetry module

Moreover: do you know if any upstream script will fail once we move the parsers?
1. Regarding `gen-histogram-bucket-ranges.py`, I don't recall any uses of that file, nor can I find any uses currently.

2. AFAIK [0] is the only code that pulls in the parsers, but that is only run manually.

[0] https://github.com/mozilla/python_moztelemetry/blob/master/bin/update_parser_scripts
Flags: needinfo?(fbertsch)
Blocks: 1486034
This patch organizes the Telemetry files according to a new
directory layout, which makes the top level dir less cluttered.
For a comprehensive discussion about the new layout, see
the bug comments.
Additionally, the build script and a few Python and C++ files
are adjusted for dealing with the new directory layout.
We settled on a new naming scheme for ping implementation: {name}Ping.jsm.
This changes the test filenames as well and fixup the path
used to reference the JSM files.

Depends on D4427
Comment on attachment 9004500 [details]
Bug 1484611 - Rename and fixup test files. r=chutten

Jan-Erik Rediger [:janerik] has approved the revision.
Attachment #9004500 - Flags: review+
Comment on attachment 9004499 [details]
Bug 1484611 -  Re-organize the telemetry module layout. r=chutten

Jan-Erik Rediger [:janerik] (PTO 30.08.-07.09.) has approved the revision.
Attachment #9004499 - Flags: review+
Comment on attachment 9004500 [details]
Bug 1484611 - Rename and fixup test files. r=chutten

Chris H-C :chutten has approved the revision.
Attachment #9004500 - Flags: review+
Duplicate of this bug: 1486031
Blocks: 1487332
Comment on attachment 9004499 [details]
Bug 1484611 -  Re-organize the telemetry module layout. r=chutten

Chris H-C :chutten has approved the revision.
Attachment #9004499 - Flags: review+
Pushed by aplacitelli@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f7c41ba8b88d
Re-organize the telemetry module layout. r=chutten,janerik
Pushed by aplacitelli@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/396233aa4027
Rename and fixup test files. r=chutten,janerik
Backed out changeset f7c41ba8b88d (Bug 1484611) for bustages in /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_gen_scalar_data_json.py on a CLOSED TREE

Failure: https://treeherder.mozilla.org/#/jobs?repo=autoland&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-classifiedState=unclassified&selectedJob=197366951

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=197366951&repo=autoland&lineNumber=40413

[task 2018-09-04T13:18:56.936Z] 13:18:56  WARNING - TEST-UNEXPECTED-FAIL | No test output (missing mozunit.main() call?): /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_gen_event_data_json.py
[task 2018-09-04T13:18:56.937Z] 13:18:56     INFO - Setting retcode to 1 from /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_gen_event_data_json.py
[task 2018-09-04T13:18:56.940Z] 13:18:56     INFO - /builds/worker/workspace/build/src/python/mozbuild/mozpack/test/test_packager.py
[task 2018-09-04T13:18:56.940Z] 13:18:56     INFO - ============================= test session starts ==============================
[task 2018-09-04T13:18:56.948Z] 13:18:56     INFO - platform linux2 -- Python 2.7.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/workspace/build/src/obj-firefox/_virtualenvs/src-UL-dti-o-2.7/bin/python
[task 2018-09-04T13:18:56.948Z] 13:18:56     INFO - rootdir: /builds/worker/workspace/build/src, inifile: /builds/worker/workspace/build/src/config/mozunit/mozunit/pytest.ini
[task 2018-09-04T13:18:56.948Z] 13:18:56     INFO - collecting ... collected 10 items
[task 2018-09-04T13:18:56.949Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_packager.py::TestPreprocessManifest::test_preprocess_manifest PASSED
[task 2018-09-04T13:18:56.953Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_packager.py::TestPreprocessManifest::test_preprocess_manifest_defines PASSED
[task 2018-09-04T13:18:56.953Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_packager.py::TestPreprocessManifest::test_preprocess_manifest_missing_define PASSED
[task 2018-09-04T13:18:56.953Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_packager.py::TestSimplePackager::test_simple_packager PASSED
[task 2018-09-04T13:18:56.953Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_packager.py::TestSimplePackager::test_simple_packager_manifest_consistency PASSED
[task 2018-09-04T13:18:56.953Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_packager.py::TestSimpleManifestSink::test_simple_manifest_parser PASSED
[task 2018-09-04T13:18:56.953Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_packager.py::TestCallDeque::test_call_deque PASSED
[task 2018-09-04T13:18:56.954Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_packager.py::TestComponent::test_component_from_string PASSED
[task 2018-09-04T13:18:56.954Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_packager.py::TestComponent::test_component_split_component_and_options PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_packager.py::TestComponent::test_component_split_component_and_options_errors PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ========================== 10 passed in 0.04 seconds ===========================
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - /builds/worker/workspace/build/src/python/mozbuild/mozpack/test/test_mozjar.py
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ============================= test session starts ==============================
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - platform linux2 -- Python 2.7.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/workspace/build/src/obj-firefox/_virtualenvs/src-UL-dti-o-2.7/bin/python
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - rootdir: /builds/worker/workspace/build/src, inifile: /builds/worker/workspace/build/src/config/mozunit/mozunit/pytest.ini
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - collecting ... collected 19 items
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestJarStruct::test_jar_struct PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestJarStruct::test_read_jar_struct PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestJarStruct::test_read_jar_struct_memoryview PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestDeflater::test_deflater_compress PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestDeflater::test_deflater_compress_no_gain PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestDeflater::test_deflater_empty PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestDeflater::test_deflater_no_compress PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestDeflaterMemoryView::test_deflater_compress PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestDeflaterMemoryView::test_deflater_compress_no_gain PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestDeflaterMemoryView::test_deflater_empty PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestDeflaterMemoryView::test_deflater_no_compress PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestJar::test_add_from_finder PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestJar::test_jar PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestJar::test_rejar PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestOptimizeJar::test_add_from_finder PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestOptimizeJar::test_jar PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestOptimizeJar::test_rejar PASSED
[task 2018-09-04T13:18:56.961Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestPreload::test_preload PASSED
[task 2018-09-04T13:18:56.962Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_mozjar.py::TestJarLog::test_jarlog PASSED
[task 2018-09-04T13:18:56.962Z] 13:18:56     INFO - ========================== 19 passed in 0.06 seconds ===========================
[task 2018-09-04T13:18:56.962Z] 13:18:56     INFO - /builds/worker/workspace/build/src/python/mozbuild/mozpack/test/test_packager_l10n.py
[task 2018-09-04T13:18:56.962Z] 13:18:56     INFO - ============================= test session starts ==============================
[task 2018-09-04T13:18:56.962Z] 13:18:56     INFO - platform linux2 -- Python 2.7.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/workspace/build/src/obj-firefox/_virtualenvs/src-UL-dti-o-2.7/bin/python
[task 2018-09-04T13:18:56.963Z] 13:18:56     INFO - rootdir: /builds/worker/workspace/build/src, inifile: /builds/worker/workspace/build/src/config/mozunit/mozunit/pytest.ini
[task 2018-09-04T13:18:56.963Z] 13:18:56     INFO - collecting ... collected 1 item
[task 2018-09-04T13:18:56.963Z] 13:18:56     INFO - ../python/mozbuild/mozpack/test/test_packager_l10n.py::TestL10NRepack::test_l10n_repack PASSED
[task 2018-09-04T13:18:56.964Z] 13:18:56     INFO - =========================== 1 passed in 0.03 seconds ===========================
[task 2018-09-04T13:18:57.014Z] 13:18:57     INFO - /builds/worker/workspace/build/src/python/mozbuild/mozpack/test/test_path.py
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - ============================= test session starts ==============================
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - platform linux2 -- Python 2.7.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/workspace/build/src/obj-firefox/_virtualenvs/src-UL-dti-o-2.7/bin/python
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - rootdir: /builds/worker/workspace/build/src, inifile: /builds/worker/workspace/build/src/config/mozunit/mozunit/pytest.ini
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - collecting ... collected 11 items
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_path.py::TestPath::test_basedir PASSED
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_path.py::TestPath::test_basename PASSED
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_path.py::TestPath::test_commonprefix PASSED
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_path.py::TestPath::test_dirname PASSED
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_path.py::TestPath::test_join PASSED
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_path.py::TestPath::test_match PASSED
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_path.py::TestPath::test_normpath PASSED
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_path.py::TestPath::test_rebase PASSED
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_path.py::TestPath::test_relpath PASSED
[task 2018-09-04T13:18:57.031Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_path.py::TestPath::test_split PASSED
[task 2018-09-04T13:18:57.032Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_path.py::TestPath::test_splitext PASSED
[task 2018-09-04T13:18:57.032Z] 13:18:57     INFO - ========================== 11 passed in 0.03 seconds ===========================
[task 2018-09-04T13:18:57.086Z] 13:18:57     INFO - /builds/worker/workspace/build/src/python/mozbuild/mozpack/test/test_packager_formats.py
[task 2018-09-04T13:18:57.087Z] 13:18:57     INFO - ============================= test session starts ==============================
[task 2018-09-04T13:18:57.088Z] 13:18:57     INFO - platform linux2 -- Python 2.7.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/workspace/build/src/obj-firefox/_virtualenvs/src-UL-dti-o-2.7/bin/python
[task 2018-09-04T13:18:57.089Z] 13:18:57     INFO - rootdir: /builds/worker/workspace/build/src, inifile: /builds/worker/workspace/build/src/config/mozunit/mozunit/pytest.ini
[task 2018-09-04T13:18:57.090Z] 13:18:57     INFO - collecting ... collected 9 items
[task 2018-09-04T13:18:57.091Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_formats.py::TestFormatters::test_bases PASSED
[task 2018-09-04T13:18:57.092Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_formats.py::TestFormatters::test_chrome_override PASSED
[task 2018-09-04T13:18:57.092Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_formats.py::TestFormatters::test_flat_formatter PASSED
[task 2018-09-04T13:18:57.092Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_formats.py::TestFormatters::test_flat_formatter_with_base PASSED
[task 2018-09-04T13:18:57.092Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_formats.py::TestFormatters::test_jar_formatter PASSED
[task 2018-09-04T13:18:57.093Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_formats.py::TestFormatters::test_jar_formatter_with_base PASSED
[task 2018-09-04T13:18:57.093Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_formats.py::TestFormatters::test_omnijar_formatter PASSED
[task 2018-09-04T13:18:57.093Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_formats.py::TestFormatters::test_omnijar_formatter_with_base PASSED
[task 2018-09-04T13:18:57.093Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_formats.py::TestFormatters::test_omnijar_is_resource PASSED
[task 2018-09-04T13:18:57.093Z] 13:18:57     INFO - =========================== 9 passed in 0.08 seconds ===========================
[task 2018-09-04T13:18:57.189Z] 13:18:57     INFO - /builds/worker/workspace/build/src/python/mozbuild/mozpack/test/test_packager_unpack.py
[task 2018-09-04T13:18:57.190Z] 13:18:57     INFO - ============================= test session starts ==============================
[task 2018-09-04T13:18:57.191Z] 13:18:57     INFO - platform linux2 -- Python 2.7.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/workspace/build/src/obj-firefox/_virtualenvs/src-UL-dti-o-2.7/bin/python
[task 2018-09-04T13:18:57.191Z] 13:18:57     INFO - rootdir: /builds/worker/workspace/build/src, inifile: /builds/worker/workspace/build/src/config/mozunit/mozunit/pytest.ini
[task 2018-09-04T13:18:57.191Z] 13:18:57     INFO - collecting ... collected 3 items
[task 2018-09-04T13:18:57.191Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_unpack.py::TestUnpack::test_flat_unpack PASSED
[task 2018-09-04T13:18:57.191Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_unpack.py::TestUnpack::test_jar_unpack PASSED
[task 2018-09-04T13:18:57.192Z] 13:18:57     INFO - ../python/mozbuild/mozpack/test/test_packager_unpack.py::TestUnpack::test_omnijar_unpack PASSED
[task 2018-09-04T13:18:57.192Z] 13:18:57     INFO - =========================== 3 passed in 0.09 seconds ===========================
[task 2018-09-04T13:18:57.211Z] 13:18:57     INFO - /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_gen_scalar_data_json.py
[task 2018-09-04T13:18:57.211Z] 13:18:57     INFO - Traceback (most recent call last):
[task 2018-09-04T13:18:57.211Z] 13:18:57     INFO -   File "/builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_gen_scalar_data_json.py", line 16, in <module>
[task 2018-09-04T13:18:57.211Z] 13:18:57     INFO -     import gen_scalar_data   # noqa: E402
[task 2018-09-04T13:18:57.211Z] 13:18:57     INFO -   File "/builds/worker/workspace/build/src/build/mach_bootstrap.py", line 366, in __call__
[task 2018-09-04T13:18:57.212Z] 13:18:57     INFO -     module = self._original_import(name, globals, locals, fromlist, level)
[task 2018-09-04T13:18:57.212Z] 13:18:57     INFO - ImportError: No module named gen_scalar_data
[task 2018-09-04T13:18:57.213Z] 13:18:57  WARNING - TEST-UNEXPECTED-FAIL | No test output (missing mozunit.main() call?): /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_gen_scalar_data_json.py
[task 2018-09-04T13:18:57.228Z] 13:18:57     INFO - /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_histogramtools_strict.py
[task 2018-09-04T13:18:57.228Z] 13:18:57     INFO - Traceback (most recent call last):
[task 2018-09-04T13:18:57.229Z] 13:18:57     INFO -   File "/builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_histogramtools_strict.py", line 9, in <module>
[task 2018-09-04T13:18:57.229Z] 13:18:57     INFO -     from test_histogramtools_non_strict import load_histogram
[task 2018-09-04T13:18:57.230Z] 13:18:57     INFO -   File "/builds/worker/workspace/build/src/build/mach_bootstrap.py", line 366, in __call__
[task 2018-09-04T13:18:57.230Z] 13:18:57     INFO -     module = self._original_import(name, globals, locals, fromlist, level)
[task 2018-09-04T13:18:57.230Z] 13:18:57     INFO -   File "/builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_histogramtools_non_strict.py", line 13, in <module>
[task 2018-09-04T13:18:57.230Z] 13:18:57     INFO -     import parse_histograms   # noqa: E402
[task 2018-09-04T13:18:57.230Z] 13:18:57     INFO -   File "/builds/worker/workspace/build/src/build/mach_bootstrap.py", line 366, in __call__
[task 2018-09-04T13:18:57.230Z] 13:18:57     INFO -     module = self._original_import(name, globals, locals, fromlist, level)
[task 2018-09-04T13:18:57.231Z] 13:18:57     INFO - ImportError: No module named parse_histograms
[task 2018-09-04T13:18:57.231Z] 13:18:57  WARNING - TEST-UNEXPECTED-FAIL | No test output (missing mozunit.main() call?): /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_histogramtools_strict.py
[task 2018-09-04T13:18:57.231Z] 13:18:57     INFO - /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_histogramtools_non_strict.py
[task 2018-09-04T13:18:57.231Z] 13:18:57     INFO - Traceback (most recent call last):
[task 2018-09-04T13:18:57.231Z] 13:18:57     INFO -   File "/builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_histogramtools_non_strict.py", line 13, in <module>
[task 2018-09-04T13:18:57.233Z] 13:18:57     INFO -     import parse_histograms   # noqa: E402
[task 2018-09-04T13:18:57.233Z] 13:18:57     INFO -   File "/builds/worker/workspace/build/src/build/mach_bootstrap.py", line 366, in __call__
[task 2018-09-04T13:18:57.233Z] 13:18:57     INFO -     module = self._original_import(name, globals, locals, fromlist, level)
[task 2018-09-04T13:18:57.233Z] 13:18:57     INFO - ImportError: No module named parse_histograms
[task 2018-09-04T13:18:57.233Z] 13:18:57  WARNING - TEST-UNEXPECTED-FAIL | No test output (missing mozunit.main() call?): /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_histogramtools_non_strict.py
[task 2018-09-04T13:18:57.233Z] 13:18:57     INFO - /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_parse_scalars.py
[task 2018-09-04T13:18:57.233Z] 13:18:57     INFO - Traceback (most recent call last):
[task 2018-09-04T13:18:57.233Z] 13:18:57     INFO -   File "/builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_parse_scalars.py", line 13, in <module>
[task 2018-09-04T13:18:57.233Z] 13:18:57     INFO -     from shared_telemetry_utils import ParserError
[task 2018-09-04T13:18:57.233Z] 13:18:57     INFO -   File "/builds/worker/workspace/build/src/build/mach_bootstrap.py", line 366, in __call__
[task 2018-09-04T13:18:57.233Z] 13:18:57     INFO -     module = self._original_import(name, globals, locals, fromlist, level)
[task 2018-09-04T13:18:57.233Z] 13:18:57     INFO - ImportError: No module named shared_telemetry_utils
[task 2018-09-04T13:18:57.233Z] 13:18:57  WARNING - TEST-UNEXPECTED-FAIL | No test output (missing mozunit.main() call?): /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_parse_scalars.py
[task 2018-09-04T13:18:57.405Z] 13:18:57     INFO - /builds/worker/workspace/build/src/xpcom/idl-parser/xpidl/runtests.py
Flags: needinfo?(alessio.placitelli)
Backout by shindli@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ba22410cf0be
Backed out changeset f7c41ba8b88d for bustages in /builds/worker/workspace/build/src/toolkit/components/telemetry/tests/python/test_gen_scalar_data_json.py on a CLOSED TREE
Pushed by shindli@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6a49729dbd61
Re-organize the telemetry module layout. r=chutten,janerik on a CLOSED TREE
Clearing the ni? as this was dealt with by sheriffs.
Flags: needinfo?(alessio.placitelli)
https://hg.mozilla.org/mozilla-central/rev/396233aa4027
https://hg.mozilla.org/mozilla-central/rev/6a49729dbd61
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in before you can comment on or make changes to this bug.