ProGet Documentation

Download & Usage Statistics

  • Last Modified: 2020-05-31

ProGet tracks the use of packages in your feeds to help you decide which packages are being used, which packages are taking a lot of disk space, and which packages are frequently cached.

All Feed Disk Usage

On the ProGet Overview page, you can see how much total disk space each feed is using.

Feed-specific Disk Usage Statistics

On the Manage Feed page, you can identify if any packages are consuming a disproportionate amount of disk space, as well as how much cached packages (i.e. packages downloading from connectors) are using.

This can help you when you define retention rules to cut back on disk space usage if needed.

Package Statistics

ProGet can also be configured to track individual package downloads and record every user that downloads every package.

This feature is available in paid and trial ProGet editions.

Because this can potentially consume a lot of database disk space, you must first enable it by going to Administration > Advanced Settings and checking the Package Statistics enabled box. Once enabled, ProGet will record the following information each time a package file is requested:

  • Username – the name of the authenticated user who downloaded the package, or “Anonymous” if the user was not logged in
  • IP Address - the IP address that requested the package
  • User Agent - the user agent header that was sent in the download request
  • Date/time - the specific date/time the package was downloaded

Viewing in the UI

On the Package page, you can see an aggregate of download data by clicking on the Package Statistics button on a package overview page.

Advanced Reporting

For more advanced analysis of package downloads, you can query the ProGet SQL Server database directly. Each download record is stored in the PackageDownloads table.

Recording dependencies with pgscan

pgscan is a simple open-source command-line tool for publishing dependencies used by a package when it is built.

It can be trivially added to an OtterScript plan in BuildMaster to publish this information:

# Build MyLibrary
DotNet::Build MyLibrary.csproj
    Configuration: Release

# Publish dependencies of MyLibrary to the proget.local server
    FileName: pgscan.exe
    Arguments: publish --input=MyLibrary.csproj --package-feed=Libraries --proget-url=https://proget.local --consumer-package-source=Libraries --consumer-package-version=$ReleaseNumber

Is this documentation incorrect or incomplete? Help us by contributing!

This documentation is licensed under CC-BY-SA-4.0 and stored in GitHub.

Generated from commit 05a03a5e on master