Page MenuHomePhabricator

AQS 2.0: Device Analytics service
Closed, ResolvedPublic

Description

Background/Goal

As detailed, the Device Analytics service implements a subset of the AQS 2.0 endpoints here.

These endpoints access the Unique Devices dataset (v1), which contains the number of unique devices that have visited Wikipedia or its sisters' projects over time and is accessible via the AQS API.

Use Case

User Stories

Outcome

Objective(s)

O:

Key Result(s)

KR:

Definition of Done

Artifacts

See: https://wikitech.wikimedia.org/wiki/Analytics/AQS/Unique_Devices

Event Timeline

Eevans updated the task description. (Show Details)
Eevans triaged this task as Medium priority.
Eevans edited subscribers, added: BPirkle, nnikkhoui, codebug; removed: Clarakosi.

First steps -I think- are to create a new repository (https://gitlab.wikimedia.org/repos/generated-data-platform/aqs/unique-devices?), stub out the code, and collect some sample data from the production cluster (similar to what was done for pageviews).

Something worth considering here might be to break out the Dockerized test environment from pageviews into it's own Git repo, for reuse across the other APIs (including this one). @FGoodwin @codebug what do you think? @nnikkhoui @BPirkle?

@Eevans how do you imagine the reuse? something like a new repo whose docker-compose (or Dockerfile or blubber file) does a git clone for all the different repos when spun up?

@Eevans how do you imagine the reuse? something like a new repo whose docker-compose (or Dockerfile or blubber file) does a git clone for all the different repos when spun up?

All I'd imagined was that you'd check it out separately (though once), and {startup,bootstrap,shutdown} it from there, as opposed from docker/ in each respective API repo. There is nothing in pageviews that depends on that Docker config (docker/), the only dependency is to Cassandra (as a networked service).

@Eevans how do you imagine the reuse? something like a new repo whose docker-compose (or Dockerfile or blubber file) does a git clone for all the different repos when spun up?

All I'd imagined was that you'd check it out separately (though once), and {startup,bootstrap,shutdown} it from there, as opposed from docker/ in each respective API repo. There is nothing in pageviews that depends on that Docker config (docker/), the only dependency is to Cassandra (as a networked service).

I should mention, my default take was to reproduce the contents of docker/ in each new code repo, except with different data files.

Fancier things are possible though!

DAbad changed the task status from Open to In Progress.May 17 2022, 1:10 PM
DAbad added a project: API Platform.
DAbad subscribed.
BPirkle renamed this task from AQS 2.0: Implement the unique devices endpoints to AQS 2.0: Unique Devices service.Sep 14 2022, 2:25 AM
BPirkle renamed this task from AQS 2.0: Unique Devices service to AQS 2.0: Device Analytics service.Jan 24 2023, 8:39 PM
BPirkle updated the task description. (Show Details)

Hi @hnowlan We have made really good progress on device-analytics code and this should be production ready in few days. What are the next steps to move it to production?