Open Bug 1582186 Opened 3 months ago Updated 23 days ago

Gecko 'metrics.yaml' is not picked up in a-c when doing dependency substitution

Categories

(Data Platform and Tools :: Glean: SDK, defect, P3)

defect

Tracking

(Not tracked)

People

(Reporter: Dexter, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [telemetry:glean-rs:backlog])

Attachments

(1 file)

For some reason, when pointing Android Components to the locally built GeckoView as shown in this guide, the metrics.yaml does not get fetched.

This means that it's either not being packed by the Gecko build system (assuming, in this case, the AAR is still assembled) or failed to fetch by the Glean script used in engine-gecko-nightly.

Blocks: 1566340
Priority: -- → P1
Whiteboard: [telemetry:glean-rs:m10]

This is simple to verify: adding a metric to the metrics.yaml in Gecko does not result in a new entry in engine-gecko-nightly/build/generated/source/glean/<variant>/kotlin/GleanGeckoMetricsMapping.kt

It's my guess that you are seeing Gradle caching which I expect to be alleviated by SNAPSHOT builds.

To verify:

  1. apply the commit from that ticket
  2. ./mach build
  3. ./gradlew ... as usual in a-c

With luck you'll see the new metrics.yaml processed. If not, a ./gradlew ... --debug (attached, it's huge) will help understand the caching layer.

Flags: needinfo?(alessio.placitelli)

Hey Jamie, any chance you could try that out?

Flags: needinfo?(alessio.placitelli) → needinfo?(jnicol)

Unfortunately that didn't work. Even after doing a ./gradlew clean before ./gradlew assembleDebug.

Attached is the output from assembleDebug. (you weren't kidding about it being huge!): https://send.firefox.com/download/5ac19a9f7c3da8c7/#WcQLqit0YUaxc0HschCSEA

Flags: needinfo?(jnicol)

As a workaround to this, I removed the dependencySubstitutions.geckoviewTopsrcdir line from local.properties, and instead manually added the maven repo to android-components' build.gradle, and overrode the Gecko.geckoview_nightly version.

Attached is the patch.

After doing this, android-components picks up my metrics from gecko's metrics.yaml.

Assignee: nobody → jnicol

Whoops, definitely didn't mean to assign this to me! That's the limit of my gradle knowledge!

Assignee: jnicol → nobody

Moving this to backlog. Nick Alexander is away :)

Whiteboard: [telemetry:glean-rs:m10] → [telemetry:glean-rs:backlog]
Priority: P1 → P3
You need to log in before you can comment on or make changes to this bug.