Commit graph

100 commits

Author SHA1 Message Date
philipel
de0afb7df6 Move RtcEventLogParseStatus and related macros to a separate file and buildtarget.
Bug: webrtc:14801
Change-Id: I204f46d47933a1ad95682042bc7009e421109ba1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/296660
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39505}
2023-03-08 15:18:28 +00:00
Danil Chapovalov
6c032cb835 in rtcp::TransportFeedback do not memorise all described packet
Instead generate such info on request

Bug: None
Change-Id: I8c3b54c8acdd0e3df822ecbc313ab8c232de5812
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/269251
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39207}
2023-01-26 16:32:49 +00:00
Lionel Koenig
612872b29d Add RtcEvent to store when MinimumSetDelay is set on NetEq
To be able to simulate offline some scenario in which the javascript
layer set the minimum base buffer size of neteq, it is required to
record those API calls. This change introduces this.

Bug: webrtc:14763
Change-Id: Ic817913eda60978d6fca3f8e12229aeec505ca25
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287122
Auto-Submit: Lionel Koenig <lionelk@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Lionel Koenig <lionelk@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39104}
2023-01-13 17:15:48 +00:00
Evan Shrubsole
9337ac8650 [Unwrap] Migrate RtcEventLog parser to use RtpSequenceNumberUnwrapper
Bug: webrtc:13982
Change-Id: I974aafd810ee3b266689a76fc3ed3b7a62440df5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288963
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39080}
2023-01-12 10:23:54 +00:00
Evan Shrubsole
097fc347ec [Unwrap] Prepare SequenceNumberUnwrapper for migrations
This is in prep for the migration of all unwrappers to
SequenceNumberUnwrapper as a standard implementation.

This moves the SeqNumUnwapper to its own header and adds 2 methods to
SeqNumUnwrapper which are defined by other unwrappers:
* PeekUnwrap
* Reset

It also adds two implementations for RtpTimestamps and
RtpSequenceNumbers.

Bug: webrtc:13982
Change-Id: I5baefb2de1db92fe1bb600760bd63b71e9310eb5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/288742
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#39030}
2023-01-09 11:42:20 +00:00
Björn Terelius
12053ec64a Encode remote link capacity estimates in legacy RTC event log format
Bug: None
Change-Id: I36037d0c654e773d5e1c6e9821031eafea54fe0d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271162
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37749}
2022-08-11 12:57:02 +00:00
Ali Tofigh
277766f55e adopt absl::string_view in logging/
Bug: webrtc:13579
Change-Id: Ibc5fa7842d52321d61cc4cdd4770635af737ddff
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/267170
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37533}
2022-07-15 16:08:39 +00:00
Björn Terelius
90133b3d3f Minor event log parser cleanup
Bug: None
Change-Id: I8d46b834ac40b8e5ed1dee009c0890bb4cfdad95
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268543
Reviewed-by: Diep Bui <diepbp@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37532}
2022-07-15 12:43:49 +00:00
Danil Chapovalov
640b51eeae In RtcEventLogParser use strict time types to access rtcp::TransportFeedback
Bug: webrtc:13757
Change-Id: I0aa6e1134acd8ff53eadb24ac051203d74b5050f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265380
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37152}
2022-06-08 11:52:25 +00:00
Björn Terelius
94c09169a2 Improve RTC event log parser.
(Support parsing TWCC which nack sequnce numbers greater than the last
one received. Don't silently drop unrecognized/malformed RTCP packets.)

Bug: webrtc:14078
Change-Id: I34a0deabfdb5f36b988919cfcc9159197435756c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/262800
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36921}
2022-05-18 09:14:40 +00:00
Ali Tofigh
e00d7d0ce6 Adopt absl::string_view in CopyOnWriteBuffer
Bug: webrtc:13579
Change-Id: Ia2b99a28ed0c103215e8616da67a5c961b957199
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260465
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Ali Tofigh <alito@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36832}
2022-05-10 10:32:41 +00:00
Björn Terelius
cb24158698 Reland "Reland "Refactor AnalyzerConfig to use Timestamps instead of microseconds.""
This reverts commit 7306c75c12.

Reason for revert: Downstream updated

Original change's description:
> Revert "Reland "Refactor AnalyzerConfig to use Timestamps instead of microseconds.""
>
> This reverts commit 7a992e21b9.
>
> Reason for revert: Breaks downstream build due to type change.
>
> Original change's description:
> > Reland "Refactor AnalyzerConfig to use Timestamps instead of microseconds."
> >
> > This is a reland of 43fb16921b
> >
> > Original change's description:
> > > Refactor AnalyzerConfig to use Timestamps instead of microseconds.
> > >
> > > Add optional offset-to-UTC parameter to output. This allows aligning
> > > the x-axis in the generated charts to other UTC-based logs.
> > >
> > > Bug: b/215140373
> > > Change-Id: I65bcd295718acbb8c94e363907c1abc458067bfd
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250203
> > > Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
> > > Commit-Queue: Björn Terelius <terelius@webrtc.org>
> > > Cr-Commit-Position: refs/heads/main@{#35992}
> >
> > Bug: b/215140373
> > Change-Id: Id2b88cc4b8078a97275d49a617581cbbd02d2c6f
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252380
> > Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
> > Commit-Queue: Björn Terelius <terelius@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#36066}
>
> Bug: b/215140373
> Change-Id: I951ac26b8176e58da18e93835f13f6b9deb6d4fa
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252443
> Auto-Submit: Björn Terelius <terelius@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36068}

Bug: b/215140373
Change-Id: Ie2b9a961d1e09dbeabeb6bfb02b43c047df69515
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252582
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
Cr-Commit-Position: refs/heads/main@{#36079}
2022-02-25 10:48:32 +00:00
Björn Terelius
7306c75c12 Revert "Reland "Refactor AnalyzerConfig to use Timestamps instead of microseconds.""
This reverts commit 7a992e21b9.

Reason for revert: Breaks downstream build due to type change.

Original change's description:
> Reland "Refactor AnalyzerConfig to use Timestamps instead of microseconds."
>
> This is a reland of 43fb16921b
>
> Original change's description:
> > Refactor AnalyzerConfig to use Timestamps instead of microseconds.
> >
> > Add optional offset-to-UTC parameter to output. This allows aligning
> > the x-axis in the generated charts to other UTC-based logs.
> >
> > Bug: b/215140373
> > Change-Id: I65bcd295718acbb8c94e363907c1abc458067bfd
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250203
> > Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
> > Commit-Queue: Björn Terelius <terelius@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#35992}
>
> Bug: b/215140373
> Change-Id: Id2b88cc4b8078a97275d49a617581cbbd02d2c6f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252380
> Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#36066}

Bug: b/215140373
Change-Id: I951ac26b8176e58da18e93835f13f6b9deb6d4fa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252443
Auto-Submit: Björn Terelius <terelius@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36068}
2022-02-24 17:14:23 +00:00
Björn Terelius
7a992e21b9 Reland "Refactor AnalyzerConfig to use Timestamps instead of microseconds."
This is a reland of 43fb16921b

Original change's description:
> Refactor AnalyzerConfig to use Timestamps instead of microseconds.
>
> Add optional offset-to-UTC parameter to output. This allows aligning
> the x-axis in the generated charts to other UTC-based logs.
>
> Bug: b/215140373
> Change-Id: I65bcd295718acbb8c94e363907c1abc458067bfd
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250203
> Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35992}

Bug: b/215140373
Change-Id: Id2b88cc4b8078a97275d49a617581cbbd02d2c6f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252380
Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36066}
2022-02-24 14:56:53 +00:00
Christoffer Jansson
66bfd6f57d Revert "Refactor AnalyzerConfig to use Timestamps instead of microseconds."
This reverts commit 43fb16921b.

Reason for revert: New type breaks downstream projects.

Original change's description:
> Refactor AnalyzerConfig to use Timestamps instead of microseconds.
>
> Add optional offset-to-UTC parameter to output. This allows aligning
> the x-axis in the generated charts to other UTC-based logs.
>
> Bug: b/215140373
> Change-Id: I65bcd295718acbb8c94e363907c1abc458067bfd
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250203
> Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35992}

TBR=terelius@webrtc.org,kerl@google.com,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: If4f2330b9731f26a0e55c9ce9a500322a111b783
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: b/215140373
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251691
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Christoffer Jansson <jansson@google.com>
Cr-Commit-Position: refs/heads/main@{#35994}
2022-02-14 15:01:51 +00:00
Björn Terelius
43fb16921b Refactor AnalyzerConfig to use Timestamps instead of microseconds.
Add optional offset-to-UTC parameter to output. This allows aligning
the x-axis in the generated charts to other UTC-based logs.

Bug: b/215140373
Change-Id: I65bcd295718acbb8c94e363907c1abc458067bfd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250203
Reviewed-by: Kristoffer Erlandsson <kerl@google.com>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35992}
2022-02-14 13:48:40 +00:00
Björn Terelius
9a6097046e Add noop stubs for encoding/parsing all RTC event log events.
The actual event definitions will be added in upcoming CLs.

Bug: webrtc:11933
Change-Id: Ie10b08a71aeb12118612b7717a08b6acbc699c4d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249361
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35978}
2022-02-11 15:00:14 +00:00
Björn Terelius
d12a14e21f Add new RTC event log encoding for AudioPlayout and DelayBasedBwe events.
Bug: webrtc:11933
Change-Id: Ia54d973099916c8dba9fedf362f25e46fe5cc541
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/246204
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35959}
2022-02-08 23:09:24 +00:00
Tommi
4be7fbb81e Change frequently run log statements in RtcEventLog to DLOG.
This substantially reduces the amount of text logged in release
builds when running:

rtc_unittests.exe --gtest_filter=*RtcEventLog*

Bug: none
Change-Id: I7b7c7e66fa467924e4414f1d9bfc1590ff01e0c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249981
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35859}
2022-01-31 16:42:27 +00:00
Björn Terelius
01ef37c08e Reland "Wire up proto-free event log format in encoder and parser."
This is a reland of 46333dbf62

Original change's description:
> Wire up proto-free event log format in encoder and parser.
>
> Encode ALR state events as an example. The ALR state unit tests pass with the new format, but the tests are not enabled in this CL since the other event types aren't encoded yet.
>
> Bug: webrtc:11933
> Change-Id: I3ba22778b55f24e2e2bd7d95bb9b17de29ef899f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234520
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35752}

Bug: webrtc:11933
Change-Id: Ia8b23cfb134b61c9ef02aa21189ecbd239783c40
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/248141
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35762}
2022-01-21 13:14:27 +00:00
Björn Terelius
6053903ab9 Revert "Wire up proto-free event log format in encoder and parser."
This reverts commit 46333dbf62.

Reason for revert: Downstream test broken by changed error message.

Original change's description:
> Wire up proto-free event log format in encoder and parser.
>
> Encode ALR state events as an example. The ALR state unit tests pass with the new format, but the tests are not enabled in this CL since the other event types aren't encoded yet.
>
> Bug: webrtc:11933
> Change-Id: I3ba22778b55f24e2e2bd7d95bb9b17de29ef899f
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234520
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35752}

TBR=terelius@webrtc.org,srte@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I9a21ec3c4f876102da146898b840c740f575e03c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11933
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247901
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35753}
2022-01-20 16:15:28 +00:00
Björn Terelius
46333dbf62 Wire up proto-free event log format in encoder and parser.
Encode ALR state events as an example. The ALR state unit tests pass with the new format, but the tests are not enabled in this CL since the other event types aren't encoded yet.

Bug: webrtc:11933
Change-Id: I3ba22778b55f24e2e2bd7d95bb9b17de29ef899f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234520
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35752}
2022-01-20 15:22:28 +00:00
Artem Titov
d3251968d1 Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED
Add implementation of RTC_DCHECK_NOTREACHED equal to the RTC_NOTREACHED.
The new macros will replace the old one when old one's usage will be
removed. The idea of the renaming to provide a clear signal that this
is debug build only macros and will be stripped in the production build.

Bug: webrtc:9065
Change-Id: I4c35d8b03e74a4b3fd1ae75dba2f9c05643101db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/237802
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35348}
2021-11-15 21:44:59 +00:00
Mirko Bonadei
54c90f2330 [-Wshadow] - Fix some warnings.
First CL to try to understand the extent of the cleanup needed in
order to remove -Wno-shadow and follow Chromium on enabling this
diagnostic.

Bug: webrtc:13219
Change-Id: Ie699762da50fe3dbc08b1fd92220962d4b7da86b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/233641
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35134}
2021-10-03 11:53:16 +00:00
Artem Titov
af9a3c6676 Use backticks not vertical bars to denote variables in comments for /logging
Bug: webrtc:12338
Change-Id: I87d33f201d4acfb26ca1d2da8a52cc188ff2c791
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226948
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34609}
2021-07-30 19:19:34 +00:00
Fanny Linderborg
481698e6f5 Remove unnecessary conversions.
`receive_timestamp` is already a `Timestamp`.

Bug: None
Change-Id: I334c6d591915115f3a577ac14183fc122517c313
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227080
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Fanny Linderborg <linderborg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34582}
2021-07-28 09:01:03 +00:00
Danil Chapovalov
9b6cd191ef Migrate rtc event log away from legacy rtp header parser
Legacy parser is unsupported,
e.g. it doesn't support parsing two-byte header rtp header extension.

Bug: None
Change-Id: I83d683a7fcb9b147dbfe06bc8808fb5731e0e8f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226560
Reviewed-by: Björn Terelius <terelius@google.com>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34572}
2021-07-27 19:02:32 +00:00
Mirko Bonadei
0786b52c2e Stop parsing if current message length is bigger than buffer.
If allow_incomplete_logs_ is false and the current message length is
bigger than the remaining buffer, this CL returns an error status
to the client.

Bug: None
Change-Id: Idcacda9f42429416da3272651621b8d5936fc69e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225545
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34500}
2021-07-19 11:12:23 +00:00
Björn Terelius
92fc02161e Replace PacketView by vector of pointers in a wrapper class.
Bug: webrtc:11372
Change-Id: I8d81f7d0db50f56ba60f7f2d73b23c9e450219be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224542
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34405}
2021-07-02 08:17:32 +00:00
Björn Terelius
ada810aab2 Reland "Deprecate microsecond timestamps in RTC event log."
This is a reland of e6ee8fab7e

Original change's description:
> Deprecate microsecond timestamps in RTC event log.
>
> (Microsecond timestamps are only used in the legacy wire-format,
> and the clocks only have microsecond resolution on some platforms.)
>
> Also convert structs on the parsing side to use a Timestamp instead
> of a uint64_t to represent the log time.
>
> Bug: webrtc:11933
> Change-Id: Ide5a0217d99f13f2e243115b163f13e0525648c7
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219467
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34097}

Bug: webrtc:11933
Change-Id: I295be966ee96b50719ceb4690dad7e7ce958dbac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221361
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34321}
2021-06-17 12:08:54 +00:00
Björn Terelius
2fa4774067 Revert "Deprecate microsecond timestamps in RTC event log."
This reverts commit e6ee8fab7e.

Reason for revert: Breaks downstream test

Original change's description:
> Deprecate microsecond timestamps in RTC event log.
>
> (Microsecond timestamps are only used in the legacy wire-format,
> and the clocks only have microsecond resolution on some platforms.)
>
> Also convert structs on the parsing side to use a Timestamp instead
> of a uint64_t to represent the log time.
>
> Bug: webrtc:11933
> Change-Id: Ide5a0217d99f13f2e243115b163f13e0525648c7
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219467
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34097}

TBR=terelius@webrtc.org,srte@webrtc.org,crodbro@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I478c9a4a1664b984891c4fcfc78f0ce9a51fe4c0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11933
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219636
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34100}
2021-05-24 13:11:10 +00:00
Björn Terelius
e6ee8fab7e Deprecate microsecond timestamps in RTC event log.
(Microsecond timestamps are only used in the legacy wire-format,
and the clocks only have microsecond resolution on some platforms.)

Also convert structs on the parsing side to use a Timestamp instead
of a uint64_t to represent the log time.

Bug: webrtc:11933
Change-Id: Ide5a0217d99f13f2e243115b163f13e0525648c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219467
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34097}
2021-05-24 11:39:02 +00:00
Björn Terelius
b37180fcf2 Remove use of istream in RTC event log parser.
Bug: webrtc:11933,webrtc:8982
Change-Id: I8008eb704549e690d7c778f743a5b9cd0c52892c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208941
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33603}
2021-03-31 13:21:58 +00:00
Björn Terelius
4ef5638871 Parse and plot RTCP BYE in RTC event log.
Bug: webrtc:12432
Change-Id: I9a98876044e0e75ee4f3ef975ae75237606d108d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/204380
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Lahiru Ginnaliya Gamathige <glahiru@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33161}
2021-02-04 11:28:46 +00:00
Niels Möller
08d2c2bf46 Delete unneeded dependencies on the Module abstraction
Bug: webrtc:7219
Change-Id: I1bcbab7e30f9964798a093e888b07d758cf226e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/198124
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32865}
2020-12-21 09:09:57 +00:00
Niels Möller
0d863f72a8 Cleanup of bwe_defines.h
Delete unused macros BWE_MIN and BWE_MAX.

Move enum RateControlState: Make it a private enum class in
AimdRateControl, the only user.

Change users of the header file that only need BandwidthUsage, to
instead include api/network_state_predictor.h, the file defining this
class. As a result, fewer dependencies on
modules/remote_bitrate_estimator.

Bug: None
Change-Id: I4450c79dd58e1875d64dd74d1ae2cb7d911a14b3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195222
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32704}
2020-11-26 12:26:02 +00:00
Björn Terelius
55b3ccd021 Fix incorrect ToUnsigned in RTC event log.
Bug: None
Change-Id: I9038ac69c253975a4fc5e074aa13b2573efab9ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181462
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32537}
2020-11-02 16:50:36 +00:00
Bjorn Terelius
945b7d8e31 Add test for logging of large compound RTCP packets.
Bug: chromium:1134107
Change-Id: Ic6ce50d33700c05733747584ce45480660cf64c9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188583
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32445}
2020-10-19 21:52:38 +00:00
Ying Wang
bd8409b70f Minor fixes to avoid crash on some traces that have unexpected data.
Bug: webrtc:0
Change-Id: I6950004be2c725c1d13889f37e4a6208ca41f47e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/178909
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32138}
2020-09-18 11:54:24 +00:00
Björn Terelius
bcdfc8975e Group decoded frame events by SSRC when compressing RTC event log.
Correspondingly, change the parser so that it provides the frames
grouped by SSRC.

Also fix a small bug that made the audio playout test terminate
too early before verifying correct logging of all events.

Bug: webrtc:8802
Change-Id: I363ef120cf88fe99290998cbc14ab5dbf32e9607
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181066
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31962}
2020-08-19 09:47:20 +00:00
Björn Terelius
00c12f6779 Add logging of decoded video frames.
This CL adds the possibility to log metainformation about
decoded frames in RTC event log, including encoding parsing
and tests. It will be wired up in a followup CL.


Bug: webrtc:8802
Change-Id: Ied598b266513d0f63fce0484d741af1782607e74
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/181061
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31873}
2020-08-06 17:33:24 +00:00
Björn Terelius
0d1b28cf09 Replace inconsistent log_segments() function in RTC event log parser
Bug: webrtc:11566
Change-Id: I739bbc29ae5423f3fedcc08e991e27fa0af840c5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176081
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31371}
2020-05-27 20:05:13 +00:00
Bjorn Terelius
48b8279813 Refactor/reimplement RTC event log triage alerts.
- Moves AnalyzerConfig and helper functions IsAudioSsrc, IsVideoSsrc, IsRtxSsrc, GetStreamNam and GetLayerName to analyzer_common.h
- Moves log_segments() code to rtc_event_log_parser.h
- Moves TriageAlert/Notification code to a new file with a couple of minor fixes to make it less spammy.

Bug: webrtc:11566
Change-Id: Ib33941d8185f7382fc72ed65768e46015e0320de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174824
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31318}
2020-05-19 09:45:16 +00:00
Danil Chapovalov
cad3e0e2fa Replace DataSize and DataRate factories with newer versions
This is search and replace change:
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataSize::Bytes<\(.*\)>()/DataSize::Bytes(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataSize::bytes/DataSize::Bytes/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::BitsPerSec<\(.*\)>()/DataRate::BitsPerSec(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::BytesPerSec<\(.*\)>()/DataRate::BytesPerSec(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::KilobitsPerSec<\(.*\)>()/DataRate::KilobitsPerSec(\1)/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::bps/DataRate::BitsPerSec/g"
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::kbps/DataRate::KilobitsPerSec/g"
git cl format

Bug: webrtc:9709
Change-Id: I65aaca69474ba038c1fe2dd8dc30d3f8e7b94c29
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168647
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30545}
2020-02-18 16:09:50 +00:00
Danil Chapovalov
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
Björn Terelius
a06048a41e Return status instead of CHECKing in event log parser.
This CL adds ParseStatus/ParseStatusOr classes and returns those instead
of CHECKing that the log is well formed. Some refactoring was required.

We also add a allow_incomplete_logs parameter to the parser which by
default is false. Setting it to true will make the parser log a warning
but return success for errors that typically indicate that the log has
been truncated. "Deeper" errors indicating log corruption still return
an error.

Bug: webrtc:11064
Change-Id: Id5bd6e321de07e250662ae3aaa5ef15f48db6d55
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158746
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29679}
2019-11-04 12:42:57 +00:00
Sebastian Jansson
74f96eccd6 Removes unused late feedback plot from analyzer.
Due to changes in how the transport feedback is processed, the late
feedback results plot doesn't get any entries anymore.

Bug: webrtc:9883
Change-Id: I9df8e86a35bedddf78407128f0ab0b6b321a6f28
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158668
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29643}
2019-10-29 18:48:55 +00:00
Danil Chapovalov
7c06777ab0 Cleanup includes in modules/include/module_common_types.h
Add missing includes to files that were transactivly depending on removed includes.

Bug: None
Change-Id: Id5923bb8dc3e1d8fbb664e460278ad3e5993be7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155963
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29396}
2019-10-07 16:06:26 +00:00
Sebastian Jansson
0a5ed896e2 Adds remote estimates to rtc event log.
Bug: webrtc:10742
Change-Id: I0db998a05492603fcdeedca780d9ee3d64aa00d4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151651
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29233}
2019-09-19 09:22:37 +00:00
Danil Chapovalov
83bbe91398 Delete deprecated rtc_event_log header
Bug: webrtc:10206
Change-Id: I9ed3148843c647372993729b87c0e74741ab540b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147870
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28791}
2019-08-07 10:58:17 +00:00