12 Commits

Author SHA1 Message Date
Artem Titov
82ce384801 Add improvement directions to PC and Call framework metrics
Bug: webrtc:10138
Change-Id: Ib957950df6e7490a15da0345fcd73e037c1a5b19
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153892
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29278}
2019-09-24 08:25:44 +00:00
Mirko Bonadei
cfefa0aef3 Revert "Record audio/video bytes sent in analyzer stream stats."
This reverts commit d978cb43c238ca24b2320acd7b656f446b906101.

Reason for revert: It breaks perf tests: https://ci.chromium.org/p/webrtc/builders/perf/Perf%20Android32%20(L%20Nexus4)/1561

Original change's description:
> Record audio/video bytes sent in analyzer stream stats.
> 
> For each SSRC report, record the number of bytes sent for that stream
> and expose them in analyzer stats.  These numbers can be used to
> determine useful metrics such as total media throughput (by adding the
> bytes sent for all streams) and overhead (by subtracting that amount
> from the total bytes sent to the network).
> 
> Bug: webrtc:9719
> Change-Id: I977bbd40acdd0a1ec64763ddd55a642b9a50f309
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146240
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Artem Titov <titovartem@webrtc.org>
> Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28637}

TBR=mbonadei@webrtc.org,mellem@webrtc.org,titovartem@webrtc.org

Change-Id: I3e46307dd6ef121b9377b93fc8d9fa788245ea5f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9719
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146605
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28646}
2019-07-23 13:24:42 +00:00
Bjorn A Mellem
d978cb43c2 Record audio/video bytes sent in analyzer stream stats.
For each SSRC report, record the number of bytes sent for that stream
and expose them in analyzer stats.  These numbers can be used to
determine useful metrics such as total media throughput (by adding the
bytes sent for all streams) and overhead (by subtracting that amount
from the total bytes sent to the network).

Bug: webrtc:9719
Change-Id: I977bbd40acdd0a1ec64763ddd55a642b9a50f309
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146240
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28637}
2019-07-22 15:42:58 +00:00
Artem Titov
0379d8cfea Change a way, how receive stream is determined in DefaultAudioQualityAnalyzer.
Bug: webrtc:10138
Change-Id: I8955c30f0a5d98abeca029323396e469a2fb243b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/136683
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27927}
2019-05-13 13:07:01 +00:00
Mirko Bonadei
60f14ce217 Do not use absl::flat_hash_map in DefaultVideoQualityAnalyzer.
This CL removes the usage of absl::flat_hash_map because it transitively
depends on CCTZ which fails to link with lld-link after the switch to
libc++.

Since std::map doesn't support heterogeneous lookup until C++14, this
CL also stops using absl::string_view and switches to
`const std::string&`.

Bug: webrtc:10605
Change-Id: I4fc93969c6fc0cc7e7e62b4d2f801bdd27cff0f6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135566
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27877}
2019-05-08 10:23:59 +00:00
Mirko Bonadei
630bd43fcf DefaultAudioQualityAnalyzer: use bytes_recv instead of packets_recv.
Bug: webrtc:10138
Change-Id: I2fa5d9da2dd7788ffc48cf6a4171eb3ce0de5423
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135461
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27866}
2019-05-07 14:59:02 +00:00
Artem Titov
76723ae836 Add API to get raw stats value from DefaultAudioQualityAnalyzer
Bug: webrtc:10138
Change-Id: I60601a47c8dd8f669297d91825fe057f2b3da634
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133565
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27685}
2019-04-18 12:04:06 +00:00
Mirko Bonadei
f948eb66aa Implement DefaultAudioQualityAnalyzer.
The DefaultAudioQualityAnalyzer will read stats reports (temporarily
using the old PeerConnectionInterface::GetStats) and for each audio
stream it will collect some NetEq related stats.

When DefaultAudioQualityAnalyzer::Stop is invoked by the framework,
it will report the following metrics:
- expand_rate
- accelerate_rate
- preemptive_rate
- speech_expand_rate
- preferred_buffer_size_ms

Bug: webrtc:10138
Change-Id: Ie493456fcb9ed86455b12dabdab98a317387ef46
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125980
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27474}
2019-04-07 14:32:33 +00:00
Artem Titov
d57628fed4 Move API for PC e2e test framework to the public API folder
Bug: webrtc:10138
Change-Id: If60019c9a7afe4760f4292e722cbc5aa229f437b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127891
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27247}
2019-03-22 16:52:16 +00:00
Artem Titov
0b44314b76 Move PC e2e test framework into its own namespace
Bug: webrtc:10138
Change-Id: I7fc02967058d3c53da73e280a7a1533a0860ba4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128403
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27203}
2019-03-20 11:12:59 +00:00
Artem Titov
5983585ee8 Introduce test case name in peer connection e2e test framework.
Introduce test case name for proper metrics reporting across different
parts of framework.

Bug: webrtc:10138
Change-Id: I7c501413ca2f2ee40314d988855dec0c28381c47
Reviewed-on: https://webrtc-review.googlesource.com/c/124740
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26886}
2019-02-28 08:54:33 +00:00
Mirko Bonadei
12ae4f4d50 Introduce possibility to poll stats and notify analyzers.
This CL introduces the possibility to poll the 2 peer connections
at constant intervals.

It also introduces a dummy AudioQualityAnalyzer that will have to
be implemented in a follow-up CL and it moves every type of the
test framework inside the webrtc::test namespace.

Bug: webrtc:10138
Change-Id: I40acf7894bd67ea5229baba2d2cf18cd8ef65e67
Reviewed-on: https://webrtc-review.googlesource.com/c/123441
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26854}
2019-02-26 14:43:31 +00:00