Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Side by Side Diff: webrtc/api/statscollector.cc

Issue 2290203002: Delete Timing class, timing.h, and update all users. (Closed)
Patch Set: Rename to rtc::TimeUTCMicros, and use it. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | webrtc/base/BUILD.gn » ('j') | webrtc/media/base/rtpdataengine.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/api/statscollector.h" 11 #include "webrtc/api/statscollector.h"
12 12
13 #include <memory> 13 #include <memory>
14 #include <utility> 14 #include <utility>
15 #include <vector> 15 #include <vector>
16 16
17 #include "webrtc/api/peerconnection.h" 17 #include "webrtc/api/peerconnection.h"
18 #include "webrtc/base/base64.h" 18 #include "webrtc/base/base64.h"
19 #include "webrtc/base/checks.h" 19 #include "webrtc/base/checks.h"
20 #include "webrtc/base/timing.h"
21 #include "webrtc/pc/channel.h" 20 #include "webrtc/pc/channel.h"
22 21
23 namespace webrtc { 22 namespace webrtc {
24 namespace { 23 namespace {
25 24
26 // The following is the enum RTCStatsIceCandidateType from 25 // The following is the enum RTCStatsIceCandidateType from
27 // http://w3c.github.io/webrtc-stats/#rtcstatsicecandidatetype-enum such that 26 // http://w3c.github.io/webrtc-stats/#rtcstatsicecandidatetype-enum such that
28 // our stats report for ice candidate type could conform to that. 27 // our stats report for ice candidate type could conform to that.
29 const char STATSREPORT_LOCAL_PORT_TYPE[] = "host"; 28 const char STATSREPORT_LOCAL_PORT_TYPE[] = "host";
30 const char STATSREPORT_STUN_PORT_TYPE[] = "serverreflexive"; 29 const char STATSREPORT_STUN_PORT_TYPE[] = "serverreflexive";
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 367
369 StatsCollector::StatsCollector(PeerConnection* pc) 368 StatsCollector::StatsCollector(PeerConnection* pc)
370 : pc_(pc), stats_gathering_started_(0) { 369 : pc_(pc), stats_gathering_started_(0) {
371 RTC_DCHECK(pc_); 370 RTC_DCHECK(pc_);
372 } 371 }
373 372
374 StatsCollector::~StatsCollector() { 373 StatsCollector::~StatsCollector() {
375 RTC_DCHECK(pc_->session()->signaling_thread()->IsCurrent()); 374 RTC_DCHECK(pc_->session()->signaling_thread()->IsCurrent());
376 } 375 }
377 376
377 // Wallclock time in ms.
378 double StatsCollector::GetTimeNow() { 378 double StatsCollector::GetTimeNow() {
379 return rtc::Timing::WallTimeNow() * rtc::kNumMillisecsPerSec; 379 return rtc::TimeUTCMicros() /
380 static_cast<double>(rtc::kNumMicrosecsPerMillisec);
380 } 381 }
381 382
382 // Adds a MediaStream with tracks that can be used as a |selector| in a call 383 // Adds a MediaStream with tracks that can be used as a |selector| in a call
383 // to GetStats. 384 // to GetStats.
384 void StatsCollector::AddStream(MediaStreamInterface* stream) { 385 void StatsCollector::AddStream(MediaStreamInterface* stream) {
385 RTC_DCHECK(pc_->session()->signaling_thread()->IsCurrent()); 386 RTC_DCHECK(pc_->session()->signaling_thread()->IsCurrent());
386 RTC_DCHECK(stream != NULL); 387 RTC_DCHECK(stream != NULL);
387 388
388 CreateTrackReports<AudioTrackVector>(stream->GetAudioTracks(), 389 CreateTrackReports<AudioTrackVector>(stream->GetAudioTracks(),
389 &reports_, track_ids_); 390 &reports_, track_ids_);
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 r->FindValue(StatsReport::kStatsValueNameTrackId); 461 r->FindValue(StatsReport::kStatsValueNameTrackId);
461 if (v && v->string_val() == track->id()) 462 if (v && v->string_val() == track->id())
462 reports->push_back(r); 463 reports->push_back(r);
463 } 464 }
464 } 465 }
465 466
466 void 467 void
467 StatsCollector::UpdateStats(PeerConnectionInterface::StatsOutputLevel level) { 468 StatsCollector::UpdateStats(PeerConnectionInterface::StatsOutputLevel level) {
468 RTC_DCHECK(pc_->session()->signaling_thread()->IsCurrent()); 469 RTC_DCHECK(pc_->session()->signaling_thread()->IsCurrent());
469 double time_now = GetTimeNow(); 470 double time_now = GetTimeNow();
471
472 LOG(LS_INFO) << "UpdateStats: time_now: " << time_now;
Taylor Brandstetter 2016/09/07 18:39:17 nit: The two colons seem odd, could change it to "
nisse-webrtc 2016/09/08 07:38:09 Done.
473
470 // Calls to UpdateStats() that occur less than kMinGatherStatsPeriod number of 474 // Calls to UpdateStats() that occur less than kMinGatherStatsPeriod number of
471 // ms apart will be ignored. 475 // ms apart will be ignored.
472 const double kMinGatherStatsPeriod = 50; 476 const double kMinGatherStatsPeriod = 50;
473 if (stats_gathering_started_ != 0 && 477 if (stats_gathering_started_ != 0 &&
474 stats_gathering_started_ + kMinGatherStatsPeriod > time_now) { 478 stats_gathering_started_ + kMinGatherStatsPeriod > time_now) {
475 return; 479 return;
476 } 480 }
477 stats_gathering_started_ = time_now; 481 stats_gathering_started_ = time_now;
478 482
479 // TODO(pthatcher): Merge PeerConnection and WebRtcSession so there is no 483 // TODO(pthatcher): Merge PeerConnection and WebRtcSession so there is no
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
961 StatsReport* report = entry.second; 965 StatsReport* report = entry.second;
962 report->set_timestamp(stats_gathering_started_); 966 report->set_timestamp(stats_gathering_started_);
963 } 967 }
964 } 968 }
965 969
966 void StatsCollector::ClearUpdateStatsCacheForTest() { 970 void StatsCollector::ClearUpdateStatsCacheForTest() {
967 stats_gathering_started_ = 0; 971 stats_gathering_started_ = 0;
968 } 972 }
969 973
970 } // namespace webrtc 974 } // namespace webrtc
OLDNEW
« no previous file with comments | « no previous file | webrtc/base/BUILD.gn » ('j') | webrtc/media/base/rtpdataengine.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698