cbe6e8a258
Introduce debug network stats
...
Bug: webrtc:11959
Change-Id: I29e94cf1cdc9aee2bbe4396aa14a759c1a9ae560
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/184600
Commit-Queue: Artem Titov <titovartem@webrtc.org >
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Reviewed-by: Björn Terelius <terelius@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#32170}
2020-09-23 09:40:25 +00:00
14b46a77b2
Provide per destination statistic for network outgoing stats
...
Network emulation layer provides per source split for incoming stats for
endpoint. Do the same for outgoing stats per destination.
Bug: webrtc:11756
Change-Id: I2369ae8906546c27133273b1be17ce74c253c6e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180500
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org >
Reviewed-by: Andrey Logvin <landrey@webrtc.org >
Commit-Queue: Artem Titov <titovartem@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#31820}
2020-07-31 11:52:13 +00:00
3e0b65d324
Replace network layer stats struct with interface
...
It is a follow up CL to
https://webrtc-review.googlesource.com/c/src/+/179368 .
Now when network stats became more complex structure it's better to hide
its implementation details and provide an interface for read-only
access.
Bug: webrtc:11756
Change-Id: I1980ef938f8de0c6aa90092d1dc90a14a82e0ee1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179840
Commit-Queue: Tommi <tommi@webrtc.org >
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org >
Reviewed-by: Tommi <tommi@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#31784}
2020-07-23 10:07:45 +00:00
1062cfee8d
Add list of local_addresses for network stats object
...
local_addresses is a list of IPs that were used to send data, which was
used during stats calculation.
Bug: webrtc:11756
Change-Id: Ie6307eaa69c73ebe9f69e44503752151be9e9ef6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179841
Commit-Queue: Tommi <tommi@webrtc.org >
Reviewed-by: Tommi <tommi@webrtc.org >
Reviewed-by: Andrey Logvin <landrey@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#31774}
2020-07-21 16:17:02 +00:00
c1a0737855
Add per source network statistics
...
Add ability to obtain incoming data network statistic splitted by data
source IP address.
Bug: webrtc:11756
Change-Id: I023c99f6bd19363a52a358dba52d25cd507097ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179368
Commit-Queue: Artem Titov <titovartem@webrtc.org >
Reviewed-by: Tommi <tommi@webrtc.org >
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org >
Reviewed-by: Andrey Logvin <landrey@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#31770}
2020-07-21 09:03:34 +00:00
4ab7ddeb9f
Migrate stray leftovers from rtc_base/ and test/ to webrtc::Mutex.
...
Migrates cases found from manual inspection of the code.
Bug: webrtc:11567
Change-Id: Ie8866435f3d3ca325e0811bf7cfb7e388ec987d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179067
Reviewed-by: Tommi <tommi@webrtc.org >
Commit-Queue: Markus Handell <handellm@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#31717}
2020-07-13 13:14:34 +00:00
54706d68f6
In test/ replace mock macros with unified MOCK_METHOD macro
...
Bug: webrtc:11564
Change-Id: I75496d2f9f5612c4677057ce6fab2a55efa8674a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175129
Reviewed-by: Artem Titov <titovartem@webrtc.org >
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#31267}
2020-05-15 08:15:02 +00:00
0c626afcf3
Use newer version of TimeDelta and TimeStamp factories in webrtc
...
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Micros<\(.*\)>()/TimeDelta::Micros(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Millis<\(.*\)>()/TimeDelta::Millis(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Seconds<\(.*\)>()/TimeDelta::Seconds(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::us/TimeDelta::Micros/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::ms/TimeDelta::Millis/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::seconds/TimeDelta::Seconds/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Micros<\(.*\)>()/Timestamp::Micros(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Millis<\(.*\)>()/Timestamp::Millis(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Seconds<\(.*\)>()/Timestamp::Seconds(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::us/Timestamp::Micros/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::ms/Timestamp::Millis/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::seconds/Timestamp::Seconds/g"
git cl format
Bug: None
Change-Id: I87469d2e4a38369654da839ab7c838215a7911e7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168402
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#30491}
2020-02-10 12:21:17 +00:00
6ce033a863
Moves ownership of time controller into NetworkEmulationManager.
...
This makes it easier to maintain consistency between real time
and simulated time modes.
The RealTimeController is updated to use an explicit main thread,
this ensures that pending destruction tasks are run as the network
emulator goes out of scope.
Bug: webrtc:11255
Change-Id: Ie73ab778c78a68d7c58c0f857f14a8d8ac027c67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166164
Commit-Queue: Sebastian Jansson <srte@webrtc.org >
Reviewed-by: Steve Anton <steveanton@webrtc.org >
Reviewed-by: Artem Titov <titovartem@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#30342}
2020-01-22 11:12:27 +00:00
9d4bbc216b
Using tasks to process packets in FakeNetworkSocketServer.
...
This way we can rely on existing task scheduling and execution
functionality, reducing the required functionality to support the
fake socket server.
This prepares for support simulated time execution of peer
connection level tests.
Bug: webrtc:11255
Change-Id: I7de64a099c2e355c70929ecff79b8ea3b98b70b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165398
Commit-Queue: Sebastian Jansson <srte@webrtc.org >
Reviewed-by: Artem Titov <titovartem@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#30221}
2020-01-12 12:53:30 +00:00
c65de42f1e
Fix NetworkEmulationManagerTest.ThroughputStats flakiness (again).
...
This CL increases tolerance for time measurement variability,
from 1% to 5%. This accounts for heavily loaded bots in CI.
Bug: webrtc:10553
Change-Id: I014f856f9e358f2871a2df8bc39ab0995fdc971f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159284
Reviewed-by: Artem Titov <titovartem@webrtc.org >
Commit-Queue: Yves Gerey <yvesg@google.com >
Cr-Commit-Position: refs/heads/master@{#29765}
2019-11-12 09:24:39 +00:00
7536bc5395
Account for IP and UDP headers in emulated network
...
Add header size both for network emulation and stats.
Bug: webrtc:11003
Change-Id: I6f5b6bc1e761bdc40da4e2e0f10a9696e8a45c88
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155442
Commit-Queue: Niels Moller <nisse@webrtc.org >
Reviewed-by: Sebastian Jansson <srte@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#29382}
2019-10-04 12:32:02 +00:00
317a1f09ed
Use std::make_unique instead of absl::make_unique.
...
WebRTC is now using C++14 so there is no need to use the Abseil version
of std::make_unique.
This CL has been created with the following steps:
git grep -l absl::make_unique | sort | uniq > /tmp/make_unique.txt
git grep -l absl::WrapUnique | sort | uniq > /tmp/wrap_unique.txt
git grep -l "#include <memory>" | sort | uniq > /tmp/memory.txt
diff --new-line-format="" --unchanged-line-format="" \
/tmp/make_unique.txt /tmp/wrap_unique.txt | sort | \
uniq > /tmp/only_make_unique.txt
diff --new-line-format="" --unchanged-line-format="" \
/tmp/only_make_unique.txt /tmp/memory.txt | \
xargs grep -l "absl/memory" > /tmp/add-memory.txt
git grep -l "\babsl::make_unique\b" | \
xargs sed -i "s/\babsl::make_unique\b/std::make_unique/g"
git checkout PRESUBMIT.py abseil-in-webrtc.md
cat /tmp/add-memory.txt | \
xargs sed -i \
's/#include "absl\/memory\/memory.h"/#include <memory>/g'
git cl format
# Manual fix order of the new inserted #include <memory>
cat /tmp/only_make_unique | xargs grep -l "#include <memory>" | \
xargs sed -i '/#include "absl\/memory\/memory.h"/d'
git ls-files | grep BUILD.gn | \
xargs sed -i '/\/\/third_party\/abseil-cpp\/absl\/memory/d'
python tools_webrtc/gn_check_autofix.py \
-m tryserver.webrtc -b linux_rel
# Repead the gn_check_autofix step for other platforms
git ls-files | grep BUILD.gn | \
xargs sed -i 's/absl\/memory:memory/absl\/memory/g'
git cl format
Bug: webrtc:10945
Change-Id: I3fe28ea80f4dd3ba3cf28effd151d5e1f19aff89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153221
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org >
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org >
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#29209}
2019-09-17 15:47:29 +00:00
b64d65e67b
Fix NetworkEmulationManagerTest.ThroughputStats flakiness.
...
Account for time measurement variability.
Bug: webrtc:10553
Change-Id: I7a82a15d5a7c2fb3e5cb80bfdf140433a3b93349
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151780
Commit-Queue: Yves Gerey <yvesg@google.com >
Reviewed-by: Artem Titov <titovartem@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#29101}
2019-09-06 15:07:01 +00:00
a4d873786f
Format almost everything.
...
This CL was generated by running
git ls-files | grep -P "(\.h|\.cc)$" | grep -v 'sdk/' | grep -v 'rtc_base/ssl_' | \
grep -v 'fake_rtc_certificate_generator.h' | grep -v 'modules/audio_device/win/' | \
grep -v 'system_wrappers/source/clock.cc' | grep -v 'rtc_base/trace_event.h' | \
grep -v 'modules/audio_coding/codecs/ilbc/' | grep -v 'screen_capturer_mac.h' | \
grep -v 'spl_inl_mips.h' | grep -v 'data_size_unittest.cc' | grep -v 'timestamp_unittest.cc' \
| xargs clang-format -i ; git cl format
Most of these changes are clang-format grouping and reordering includes
differently.
Bug: webrtc:9340
Change-Id: Ic83ddbc169bfacd21883e381b5181c3dd4fe8a63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144051
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org >
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#28505}
2019-07-08 13:45:15 +00:00
386802ef7c
Move network emulation framework under test/network
...
Bug: webrtc:10138
Change-Id: I654bc124866241ceca65462937e2fad6294cc62b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144622
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org >
Reviewed-by: Sebastian Jansson <srte@webrtc.org >
Commit-Queue: Artem Titov <titovartem@webrtc.org >
Cr-Commit-Position: refs/heads/master@{#28492}
2019-07-05 11:08:42 +00:00