Microburst

Prev Next

Microburst information on a specific capture can be extremely useful. This can be achieved using the API end points as follows

NOTE: this functionality is work in progress. Expect it to improve and update throughout the year.


/api/v1/capture/pcap/single?Target=microburst_process

This will process a full capture named StreamName which resides on the capture system with the microburst analyzer

Address

/api/v1/capture/pcap/single?Target=microburst_process

Verb

GET

Notes

Arguments

Parameter

Value

Description

StreamName

Name of the capture

Name of the capture to process

Status

true

Enable this to see status line updates as its processing

Resolution0

scientific notation nanoseconds

The time bucket 0 resolution in nanoseconds.

Default: 10e3 (100usec)

Resolution1

scientific notation nanoseconds

The time bucket 1 resolution in nanoseconds.

Default: 1e6 (1msec)

Resolution2

scientific notation nanoseconds

The time bucket 2 resolution in nanoseconds.

Default: 100e6 (100msec)

Example (Basic)

Example show processing a specific capture file previously captured (in this case the capture is named ny2_election_20250204_2245 using the default time bucket resolutions

The command issued as follows (on the FMADIO device), this can be issued from a remote system however it requires the username /password to be entered.

 curl -s "http://127.0.0.1/api/v1/pcap/single?Target=microburst_process&StreamName=ny2_election_20250204_2245" | jq

Example output shown below, this will take several minutes

fmadio@fmadio100v2-228U:~$ curl -s "http://127.0.0.1/api/v1/pcap/single?Target=microburst_process&StreamName=ny2_election_20250204_2245" | jq
{
  "TotalGB": 119.709,
  "IntervalUSec": 100,
  "bps_Max_PCAPTS": "14:30:10.205.500.000",
  "bps_Max_Gbps": 43.83,
  "pps_Max_PCAPTS": "14:30:10.237.900.000",
  "pps_Max_Mpps": 23.29,
  "bps_Mean_Gbps": 13.449,
  "pps_Mean_Mpps": 12.12
}
{
  "TotalGB": 119.709,
  "IntervalUSec": 1000,
  "bps_Max_PCAPTS": "14:30:10.205.000.000",
  "bps_Max_Gbps": 41.796,
  "pps_Max_PCAPTS": "14:30:10.238.000.000",
  "pps_Max_Mpps": 22.682,
  "bps_Mean_Gbps": 11.069,
  "pps_Mean_Mpps": 9.975
}
{
  "TotalGB": 119.709,
  "IntervalUSec": 100000,
  "bps_Max_PCAPTS": "14:30:10.200.000.000",
  "bps_Max_Gbps": 26.977,
  "pps_Max_PCAPTS": "14:30:10.200.000.000",
  "pps_Max_Mpps": 19.535,
  "bps_Mean_Gbps": 2.811,
  "pps_Mean_Mpps": 2.533
}
fmadio@fmadio100v2-228U:~$

In the above example we see the 100usec microburst level gets peek of 23.29Gbps, 1msec is at 22.682Gbps and the 100msec is at 19.353Gbps. This indicates a fairly sustained saturated capture rate of around 19Gbps with a slight burst to 23Gbps.

Example (custom time bucket)

Using user defined buckets of

Bucket 0 → 1usec Resolution=01e3

Bucket 1 → 10usec Resolution=10e3

Bucket 2 → 20usec Resolution=20e3

The following settings can be achieved using the the command

 curl -s "http://127.0.0.1/api/v1/pcap/single?Target=microburst_process&StreamName=ny2_election_20250204_2245&Resolution0=1e3&Resolution1=10e3&Resolution2=20e3" | jq

Example output is shown below

fmadio@fmadio100v2-228U:~$  curl -s "http://127.0.0.1/api/v1/pcap/single?Target=microburst_process&StreamName=ny2_election_20250204_2245&Resolution0=1e3&Resolution1=10e3&Resolution2=20e6" | jq
{
  "TotalGB": 119.709,
  "IntervalUSec": 1,
  "bps_Max_PCAPTS": "14:30:10.204.753.000",
  "bps_Max_Gbps": 75.28,
  "pps_Max_PCAPTS": "14:30:35.258.071.000",
  "pps_Max_Mpps": 46,
  "bps_Mean_Gbps": 14.081,
  "pps_Mean_Mpps": 12.689
}
{
  "TotalGB": 119.709,
  "IntervalUSec": 10,
  "bps_Max_PCAPTS": "14:30:10.202.780.000",
  "bps_Max_Gbps": 49.995,
  "pps_Max_PCAPTS": "14:30:10.238.030.000",
  "pps_Max_Mpps": 26.4,
  "bps_Mean_Gbps": 13.993,
  "pps_Mean_Mpps": 12.61
}
{
  "TotalGB": 119.709,
  "IntervalUSec": 20,
  "bps_Max_PCAPTS": "14:30:10.202.840.000",
  "bps_Max_Gbps": 46.399,
  "pps_Max_PCAPTS": "14:30:10.237.900.000",
  "pps_Max_Mpps": 24.15,
  "bps_Mean_Gbps": 13.929,
  "pps_Mean_Mpps": 12.552
}

Example (custom time with status updates)

For captures that are very large the above may time considerable amount of time and my even time out on the curl request. As such there is a Status=true option in the URI that will constantly print the Status of the output

The full command is below

 curl -s "http://127.0.0.1/api/v1/pcap/single?Target=microburst_process&StreamName=ny2_election_20250204_2245&Resolution0=1e3&Resolution1=10e3&Resolution2=20e3&Status=true" | jq

Example output is shown below

fmadio@fmadio100v2-228U:~$  curl -s "http://127.0.0.1/api/v1/pcap/single?Target=microburst_process&StreamName=ny2_election_20250204_2245&Resolution0=1e3&Resolution1=10e3&Resolution2=20e3&Status=true" | jq
{
  "Status": "14:30:01.420.111.561 : Stats  1.458 GB Bin0[ 1.000 usec  Max:(14:30:01.418.906.000 55.600 Gbps 34.000 Mpps) Mean:(8.921 Gbps 7.650 Mpps) ] Bin1[ 10.000 usec  Max:(14:30:00.960.500.000 27.325 Gbps 16.900 Mpps) Mean:(6.737 Gbps  5.777Mpps)] Bin2[ 20.000 usec  Max:(14:30:00.960.480.000 23.975 Gbps 15.500 Mpps) Mean:(5.698 Gbps 4.886 Mpps)]"
}
{
  "Status": "14:30:02.109.626.760 : Stats  3.110 GB Bin0[ 1.000 usec  Max:(14:30:01.966.391.000 74.672 Gbps 42.000 Mpps) Mean:(12.461 Gbps 10.016 Mpps) ] Bin1[ 10.000 usec  Max:(14:30:01.966.440.000 43.618 Gbps 20.300 Mpps) Mean:(10.280 Gbps  8.263Mpps)] Bin2[ 20.000 usec  Max:(14:30:01.966.440.000 43.018 Gbps 19.200 Mpps) Mean:(9.094 Gbps 7.309 Mpps)]"
}
{
  "Status": "14:30:02.736.270.533 : Stats  4.817 GB Bin0[ 1.000 usec  Max:(14:30:01.966.391.000 74.672 Gbps 42.000 Mpps) Mean:(14.689 Gbps 11.435 Mpps) ] Bin1[ 10.000 usec  Max:(14:30:01.966.440.000 43.618 Gbps 22.400 Mpps) Mean:(12.646 Gbps  9.845Mpps)] Bin2[ 20.000 usec  Max:(14:30:01.966.440.000 43.018 Gbps 20.100 Mpps) Mean:(11.459 Gbps 8.921 Mpps)]"
}
{
  "Status": "14:30:03.359.239.417 : Stats  6.522 GB Bin0[ 1.000 usec  Max:(14:30:01.966.391.000 74.672 Gbps 42.000 Mpps) Mean:(16.072 Gbps 12.321 Mpps) ] Bin1[ 10.000 usec  Max:(14:30:01.966.440.000 43.618 Gbps 22.400 Mpps) Mean:(14.217 Gbps  10.899Mpps)] Bin2[ 20.000 usec  Max:(14:30:01.966.440.000 43.018 Gbps 20.300 Mpps) Mean:(13.091 Gbps 10.036 Mpps)]"
}
.
.
.
{
  "Status": "14:31:06.273.992.756 : Stats 116.626 GB Bin0[ 1.000 usec  Max:(14:30:10.204.753.000 75.280 Gbps 46.000 Mpps) Mean:(14.103 Gbps 12.697 Mpps) ] Bin1[ 10.000 usec  Max:(14:30:10.202.780.000 49.995 Gbps 26.400 Mpps) Mean:(14.012 Gbps  12.615Mpps)] Bin2[ 20.000 usec  Max:(14:30:10.202.840.000 46.399 Gbps 24.150 Mpps) Mean:(13.946 Gbps 12.556 Mpps)]"
}
{
  "Status": "14:31:07.037.125.666 : Stats 117.972 GB Bin0[ 1.000 usec  Max:(14:30:10.204.753.000 75.280 Gbps 46.000 Mpps) Mean:(14.103 Gbps 12.702 Mpps) ] Bin1[ 10.000 usec  Max:(14:30:10.202.780.000 49.995 Gbps 26.400 Mpps) Mean:(14.013 Gbps  12.621Mpps)] Bin2[ 20.000 usec  Max:(14:30:10.202.840.000 46.399 Gbps 24.150 Mpps) Mean:(13.948 Gbps 12.562 Mpps)]"
}
{
  "Status": "14:31:07.852.841.400 : Stats 119.321 GB Bin0[ 1.000 usec  Max:(14:30:10.204.753.000 75.280 Gbps 46.000 Mpps) Mean:(14.092 Gbps 12.696 Mpps) ] Bin1[ 10.000 usec  Max:(14:30:10.202.780.000 49.995 Gbps 26.400 Mpps) Mean:(14.004 Gbps  12.617Mpps)] Bin2[ 20.000 usec  Max:(14:30:10.202.840.000 46.399 Gbps 24.150 Mpps) Mean:(13.940 Gbps 12.559 Mpps)]"
}
{
  "TotalGB": 119.709,
  "IntervalUSec": 1,
  "bps_Max_PCAPTS": "14:30:10.204.753.000",
  "bps_Max_Gbps": 75.28,
  "pps_Max_PCAPTS": "14:30:35.258.071.000",
  "pps_Max_Mpps": 46,
  "bps_Mean_Gbps": 14.081,
  "pps_Mean_Mpps": 12.689
}
{
  "TotalGB": 119.709,
  "IntervalUSec": 10,
  "bps_Max_PCAPTS": "14:30:10.202.780.000",
  "bps_Max_Gbps": 49.995,
  "pps_Max_PCAPTS": "14:30:10.238.030.000",
  "pps_Max_Mpps": 26.4,
  "bps_Mean_Gbps": 13.993,
  "pps_Mean_Mpps": 12.61
}
{
  "TotalGB": 119.709,
  "IntervalUSec": 20,
  "bps_Max_PCAPTS": "14:30:10.202.840.000",
  "bps_Max_Gbps": 46.399,
  "pps_Max_PCAPTS": "14:30:10.237.900.000",
  "pps_Max_Mpps": 24.15,
  "bps_Mean_Gbps": 13.929,
  "pps_Mean_Mpps": 12.552
}
fmadio@fmadio100v2-228U:~$