Skip to main content

How To Estimate Network Ingress and Egress (Bytes) Within a Build

Viewing Network Ingress and Egress

You can view details of your organization's network transfer and storage usage on your Plan > Plan Usage screen. In addition, you can find out more about how to manage your network and storage costs here.

However, you may like to determine the network transfer (ingress and egress) of a specific build. This may be useful for your team, in order to diagnose which processes in the build may be consuming high network transfer usage for instance.

For Docker-based jobs, you can inspect the overall network transfer under the Network transfer section of the Resources tab.

2022-03-16-network-transfer-screenshot.png




Additionally, you can also inspect the networking information, particularly from `/proc/net/dev`, before and after a command is executed.
This is useful in estimating the network transfer from a specific command,

cat /proc/net/dev

Extending on the method above, here is an example Orb that will calculate the stats in a readable format. We can see it in action with an example screenshot below:

image.png

To illustrate how to use the network command of this Orb, you can set up your config file like this to see how many bytes are transmitted and received for a cURL request, for example:

version: '2.1'orbs:
  profiling: nanophate/[email protected]:
  build:
    docker:
      - image: cimg/base:stable
  steps:
    - checkout
    - profiling/network


NOTE: Your overall Network Transfer amount is not representative of your billable usage. Only certain actions will result in network egress, which in turn results in billable usage. For more information, do check out our guide here: https://circleci.com/docs/guides/optimize/persist-data/#overview-of-network-and-storage-transfer

Did this answer your question?