Closed Bug 1618905 Opened 5 years ago Closed 5 years ago

Multi-language Architecture Design for Project FOG

Categories

(Toolkit :: Telemetry, task, P1)

task

Tracking

()

RESOLVED FIXED

People

(Reporter: chutten, Assigned: janerik)

References

Details

(Whiteboard: [telemetry:fog:m2])

Attachments

(1 file)

Project FOG needs to support metrics instrumented in JS, C++, and Rust. Assuming that we have clever and performant ways to generate APIs for all those languages (see bug 1617590 for Rust and waiting on future Milestone 4's "C++ API Design" and "JS API Design" for the other two), we still have questions that need answering sooner rather than later:

  • Where do the API implementations live? In what language are they written?
  • What happens if the same metric is manipulated by more than one language?
    • What if a timespan is start()ed in JS but is stop()ed in Rust? Do we even want to try to support that?
  • How will we unambiguously name these different concepts of support?
    • Is FOG/Firefox Desktop a platform? A target? Unlike Android it has more than one language needing specific metrics APIs, and more than one OS it ships on, so we can no longer conflate support of a language with support of a os with support of a platform/target/whatever.
  • How much does the Glean SDK and glean_parser need to change in order to support this proposed design?
  • How does this support the existing Rust API Design (bug 1617590)?
Assignee: nobody → jrediger
Priority: -- → P1

The document still has gaps and doesn't go too deep into making decisions yet, but that's where I'd like to get some input from you, :chutten.

Attachment #9131468 - Flags: feedback?(chutten)
Attachment #9131468 - Flags: feedback?(chutten)
Comment on attachment 9131468 [details] Proposal: Multi-language Architecture Design I rewrote the whole first part of the multi-lang arch document and added a diagram to explain the different parts better. Please take a look and leave feedback and/or f+ this proposal. (I'd like to take out the question about naming to a separate discussion)
Attachment #9131468 - Flags: feedback?(mdroettboom)
Attachment #9131468 - Flags: feedback?(chutten)
Attachment #9131468 - Flags: feedback?(alessio.placitelli)
Comment on attachment 9131468 [details] Proposal: Multi-language Architecture Design I like it. Especially the diagram.
Attachment #9131468 - Flags: feedback?(chutten) → feedback+
Comment on attachment 9131468 [details] Proposal: Multi-language Architecture Design The proposal looks good to me. I left a couple of minor comments in the document.
Attachment #9131468 - Flags: feedback?(alessio.placitelli) → feedback+
See Also: → 1621991
Comment on attachment 9131468 [details] Proposal: Multi-language Architecture Design This proposal looks like it's in great shape.
Attachment #9131468 - Flags: feedback?(mdroettboom) → feedback+

Proposal has been reviewed and accepted by the them. Some followup defined for the other API languages, but the high-level is clear.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: