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:~$