Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Track download metrics for JFrog artifacts #579

Open
Tracked by #58
jiekang opened this issue Apr 12, 2024 · 4 comments
Open
Tracked by #58

Track download metrics for JFrog artifacts #579

jiekang opened this issue Apr 12, 2024 · 4 comments

Comments

@jiekang
Copy link

jiekang commented Apr 12, 2024

JFrog collects download data per artifact that is visible in their web UI:

For example:
https://packages.adoptium.net/ui/repos/tree/General/rpm/fedora/38/x86_64/Packages/temurin-11-jdk-11.0.20.1.0.1-1.x86_64.rpm

It would be nice to have this data collected and collated together as part of the Adoptium dashboard.

@tellison
Copy link
Contributor

I will note that we have introduced a Fastly CDN in front of JFrog to take some of the load off, so we need to include stats from that too to be realistic.

I was looking at the Fastly API to see if we can gather package download numbers from there. The stats look quite generic and not oriented to the actual artefacts, which may be a function of the fact they just cache http responses without knowing much about the underlying files etc. So not sure what we could usefully use to gather a ‘daily download by JDK version etc’ statistic like we do for github and docker.

However, it may be that we present some other interesting trends, such as the number of requests and the number of bytes moved, which is a 'proxy' for the actual number of packages. Here's a screen grab for the CDN activity in March. As you can see it is shading 95% of calls from going through to JFrog.

Screenshot 2024-04-18 at 09 21 50

@jiekang jiekang changed the title Add download data for JFrog artifacts Track download metrics for JFrog artifacts May 16, 2024
@smlambert
Copy link

https://jfrog.com/help/r/jfrog-rest-apis/get-the-open-metrics-for-artifactory

  • jfsh_binaries_download_successes_total
    • not sure if this differentiates between metadata and actual binary downloads or not, need to query to see

@smlambert
Copy link

With the switch to Cloudflare, there is a way to query downloads. @tellison has prototyped it here: https://gist.github.com/tellison/e2736c65cf74c8f9c82d2b83f43ade16

One can query via curl (see example in docs at https://developers.cloudflare.com/analytics/graphql-api/getting-started/execute-graphql-query/)

@tellison
Copy link
Contributor

As Shelley noted, things have become simpler since April since all our traffic to packages.adoptium.net now goes trough CloudFlare and we have a method for tracking the downloads at that level.

IMHO the correct order would be to update the Adoptium API to include the package download stats first, then update the dashboard code to show the numbers. I have opened an issue to cover updating the API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

3 participants