Remove WEBRTC_TRACE.
Bug: webrtc:5118
Change-Id: I0af0f8845ee016fa61d7cecc526e2a672ec8732d
Reviewed-on: https://webrtc-review.googlesource.com/5382
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20114}
diff --git a/call/call.cc b/call/call.cc
index 8bfab8a..0dbe957 100644
--- a/call/call.cc
+++ b/call/call.cc
@@ -51,7 +51,6 @@
#include "system_wrappers/include/cpu_info.h"
#include "system_wrappers/include/metrics.h"
#include "system_wrappers/include/rw_lock_wrapper.h"
-#include "system_wrappers/include/trace.h"
#include "video/call_stats.h"
#include "video/send_delay_stats.h"
#include "video/stats_counter.h"
@@ -434,7 +433,6 @@
RTC_DCHECK_GE(config.bitrate_config.max_bitrate_bps,
config.bitrate_config.start_bitrate_bps);
}
- Trace::CreateTrace();
transport_send->send_side_cc()->RegisterNetworkObserver(this);
transport_send_ = std::move(transport_send);
transport_send_->send_side_cc()->SignalNetworkState(kNetworkDown);
@@ -494,8 +492,6 @@
}
UpdateReceiveHistograms();
UpdateHistograms();
-
- Trace::ReturnTrace();
}
rtc::Optional<RtpPacketReceived> Call::ParseRtpPacket(
diff --git a/common_types.h b/common_types.h
index 207c81e..e7d912c 100644
--- a/common_types.h
+++ b/common_types.h
@@ -78,64 +78,6 @@
virtual bool Write(const void* buf, size_t len) = 0;
};
-enum TraceModule {
- kTraceUndefined = 0,
- // not a module, triggered from the engine code
- kTraceVoice = 0x0001,
- // not a module, triggered from the engine code
- kTraceVideo = 0x0002,
- // not a module, triggered from the utility code
- kTraceUtility = 0x0003,
- kTraceRtpRtcp = 0x0004,
- kTraceTransport = 0x0005,
- kTraceSrtp = 0x0006,
- kTraceAudioCoding = 0x0007,
- kTraceAudioMixerServer = 0x0008,
- kTraceAudioMixerClient = 0x0009,
- kTraceFile = 0x000a,
- kTraceAudioProcessing = 0x000b,
- kTraceVideoCoding = 0x0010,
- kTraceVideoMixer = 0x0011,
- kTraceAudioDevice = 0x0012,
- kTraceVideoRenderer = 0x0014,
- kTraceVideoCapture = 0x0015,
- kTraceRemoteBitrateEstimator = 0x0017,
-};
-
-enum TraceLevel {
- kTraceNone = 0x0000, // no trace
- kTraceStateInfo = 0x0001,
- kTraceWarning = 0x0002,
- kTraceError = 0x0004,
- kTraceCritical = 0x0008,
- kTraceApiCall = 0x0010,
- kTraceDefault = 0x00ff,
-
- kTraceModuleCall = 0x0020,
- kTraceMemory = 0x0100, // memory info
- kTraceTimer = 0x0200, // timing info
- kTraceStream = 0x0400, // "continuous" stream of data
-
- // used for debug purposes
- kTraceDebug = 0x0800, // debug
- kTraceInfo = 0x1000, // debug info
-
- // Non-verbose level used by LS_INFO of logging.h. Do not use directly.
- kTraceTerseInfo = 0x2000,
-
- kTraceAll = 0xffff
-};
-
-// External Trace API
-class TraceCallback {
- public:
- virtual void Print(TraceLevel level, const char* message, int length) = 0;
-
- protected:
- virtual ~TraceCallback() {}
- TraceCallback() {}
-};
-
enum FileFormats {
kFileFormatWavFile = 1,
kFileFormatCompressedFile = 2,
diff --git a/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java b/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
index caad171..9d6822b 100644
--- a/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
+++ b/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
@@ -624,9 +624,8 @@
}
isInitiator = false;
- // Set default WebRTC tracing and INFO libjingle logging.
+ // Set INFO libjingle logging.
// NOTE: this _must_ happen while |factory| is alive!
- Logging.enableTracing("logcat:", EnumSet.of(Logging.TraceLevel.TRACE_DEFAULT));
Logging.enableLogToDebugOutput(Logging.Severity.LS_INFO);
mediaStream = factory.createLocalMediaStream("ARDAMS");
diff --git a/media/engine/webrtcvoiceengine.cc b/media/engine/webrtcvoiceengine.cc
index 467e38d..a6875f8 100644
--- a/media/engine/webrtcvoiceengine.cc
+++ b/media/engine/webrtcvoiceengine.cc
@@ -42,7 +42,6 @@
#include "rtc_base/trace_event.h"
#include "system_wrappers/include/field_trial.h"
#include "system_wrappers/include/metrics.h"
-#include "system_wrappers/include/trace.h"
#include "voice_engine/transmit_mixer.h"
namespace cricket {
@@ -50,12 +49,6 @@
constexpr size_t kMaxUnsignaledRecvStreams = 4;
-const int kDefaultTraceFilter = webrtc::kTraceNone | webrtc::kTraceTerseInfo |
- webrtc::kTraceWarning | webrtc::kTraceError |
- webrtc::kTraceCritical;
-const int kElevatedTraceFilter = kDefaultTraceFilter | webrtc::kTraceStateInfo |
- webrtc::kTraceInfo;
-
constexpr int kNackRtpHistoryMs = 5000;
// Check to verify that the define for the intelligibility enhancer is properly
@@ -254,7 +247,6 @@
if (initialized_) {
StopAecDump();
voe_wrapper_->base()->Terminate();
- webrtc::Trace::SetTraceCallback(nullptr);
}
}
@@ -287,12 +279,8 @@
channel_config_.enable_voice_pacing = true;
- // Temporarily turn logging level up for the Init() call.
- webrtc::Trace::SetTraceCallback(this);
- webrtc::Trace::set_level_filter(kElevatedTraceFilter);
RTC_CHECK_EQ(0,
voe_wrapper_->base()->Init(adm_.get(), apm(), decoder_factory_));
- webrtc::Trace::set_level_filter(kDefaultTraceFilter);
// No ADM supplied? Get the default one from VoE.
if (!adm_) {
@@ -676,30 +664,6 @@
return capabilities;
}
-void WebRtcVoiceEngine::Print(webrtc::TraceLevel level, const char* trace,
- int length) {
- // Note: This callback can happen on any thread!
- rtc::LoggingSeverity sev = rtc::LS_VERBOSE;
- if (level == webrtc::kTraceError || level == webrtc::kTraceCritical)
- sev = rtc::LS_ERROR;
- else if (level == webrtc::kTraceWarning)
- sev = rtc::LS_WARNING;
- else if (level == webrtc::kTraceStateInfo || level == webrtc::kTraceInfo)
- sev = rtc::LS_INFO;
- else if (level == webrtc::kTraceTerseInfo)
- sev = rtc::LS_INFO;
-
- // Skip past boilerplate prefix text.
- if (length < 72) {
- std::string msg(trace, length);
- LOG(LS_ERROR) << "Malformed webrtc log message: ";
- LOG_V(sev) << msg;
- } else {
- std::string msg(trace + 71, length - 72);
- LOG_V(sev) << "webrtc: " << msg;
- }
-}
-
void WebRtcVoiceEngine::RegisterChannel(WebRtcVoiceMediaChannel* channel) {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
RTC_DCHECK(channel);
diff --git a/media/engine/webrtcvoiceengine.h b/media/engine/webrtcvoiceengine.h
index 87b7a94..3bd8fa8 100644
--- a/media/engine/webrtcvoiceengine.h
+++ b/media/engine/webrtcvoiceengine.h
@@ -48,7 +48,7 @@
// WebRtcVoiceEngine is a class to be used with CompositeMediaEngine.
// It uses the WebRtc VoiceEngine library for audio handling.
-class WebRtcVoiceEngine final : public webrtc::TraceCallback {
+class WebRtcVoiceEngine final {
friend class WebRtcVoiceMediaChannel;
public:
WebRtcVoiceEngine(
@@ -65,7 +65,7 @@
rtc::scoped_refptr<webrtc::AudioMixer> audio_mixer,
rtc::scoped_refptr<webrtc::AudioProcessing> audio_processing,
VoEWrapper* voe_wrapper);
- ~WebRtcVoiceEngine() override;
+ ~WebRtcVoiceEngine();
// Does initialization that needs to occur on the worker thread.
void Init();
@@ -108,9 +108,6 @@
// easily at any time.
bool ApplyOptions(const AudioOptions& options);
- // webrtc::TraceCallback:
- void Print(webrtc::TraceLevel level, const char* trace, int length) override;
-
void StartAecDump(const std::string& filename);
int CreateVoEChannel();
diff --git a/modules/audio_coding/test/APITest.cc b/modules/audio_coding/test/APITest.cc
index b29e84e..363eb6b 100644
--- a/modules/audio_coding/test/APITest.cc
+++ b/modules/audio_coding/test/APITest.cc
@@ -25,7 +25,6 @@
#include "rtc_base/platform_thread.h"
#include "rtc_base/timeutils.h"
#include "system_wrappers/include/event_wrapper.h"
-#include "system_wrappers/include/trace.h"
#include "test/gtest.h"
#include "test/testsupport/fileutils.h"
#include "typedefs.h" // NOLINT(build/include)
@@ -259,15 +258,8 @@
// B
_outFreqHzB = _outFileB.SamplingFrequency();
- //Trace::SetEncryptedTraceFile("ACMAPITestEncrypted.txt");
-
char print[11];
- // Create a trace file.
- Trace::CreateTrace();
- Trace::SetTraceFile(
- (webrtc::test::OutputPath() + "acm_api_trace.txt").c_str());
-
printf("\nRandom Test (y/n)?");
EXPECT_TRUE(fgets(print, 10, stdin) != NULL);
print[10] = '\0';
diff --git a/modules/audio_coding/test/EncodeDecodeTest.cc b/modules/audio_coding/test/EncodeDecodeTest.cc
index 2b6b4ac..c765f68 100644
--- a/modules/audio_coding/test/EncodeDecodeTest.cc
+++ b/modules/audio_coding/test/EncodeDecodeTest.cc
@@ -19,7 +19,6 @@
#include "modules/audio_coding/codecs/audio_format_conversion.h"
#include "modules/audio_coding/include/audio_coding_module.h"
#include "modules/audio_coding/test/utility.h"
-#include "system_wrappers/include/trace.h"
#include "test/gtest.h"
#include "test/testsupport/fileutils.h"
@@ -176,9 +175,6 @@
void Receiver::Teardown() {
delete[] _playoutBuffer;
_pcmFile.Close();
- if (testMode > 1) {
- Trace::ReturnTrace();
- }
}
bool Receiver::IncomingPacket() {
@@ -254,9 +250,6 @@
EncodeDecodeTest::EncodeDecodeTest() {
_testMode = 2;
- Trace::CreateTrace();
- Trace::SetTraceFile(
- (webrtc::test::OutputPath() + "acm_encdec_trace.txt").c_str());
}
EncodeDecodeTest::EncodeDecodeTest(int testMode) {
@@ -264,11 +257,6 @@
//testMode == 1 for testing all codecs/parameters
//testMode > 1 for specific user-input test (as it was used before)
_testMode = testMode;
- if (_testMode != 0) {
- Trace::CreateTrace();
- Trace::SetTraceFile(
- (webrtc::test::OutputPath() + "acm_encdec_trace.txt").c_str());
- }
}
void EncodeDecodeTest::Perform() {
@@ -326,11 +314,6 @@
rtpFile.Close();
}
}
-
- // End tracing.
- if (_testMode == 1) {
- Trace::ReturnTrace();
- }
}
std::string EncodeDecodeTest::EncodeToFile(int fileType,
diff --git a/modules/audio_coding/test/Tester.cc b/modules/audio_coding/test/Tester.cc
index 7d58b6d..73625f1 100644
--- a/modules/audio_coding/test/Tester.cc
+++ b/modules/audio_coding/test/Tester.cc
@@ -23,22 +23,15 @@
#include "modules/audio_coding/test/TwoWayCommunication.h"
#include "modules/audio_coding/test/iSACTest.h"
#include "modules/audio_coding/test/opus_test.h"
-#include "system_wrappers/include/trace.h"
#include "test/gtest.h"
#include "test/testsupport/fileutils.h"
-using webrtc::Trace;
-
// This parameter is used to describe how to run the tests. It is normally
// set to 0, and all tests are run in quite mode.
#define ACM_TEST_MODE 0
TEST(AudioCodingModuleTest, TestAllCodecs) {
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_allcodecs_trace.txt").c_str());
webrtc::TestAllCodecs(ACM_TEST_MODE).Perform();
- Trace::ReturnTrace();
}
#if defined(WEBRTC_ANDROID)
@@ -46,11 +39,7 @@
#else
TEST(AudioCodingModuleTest, TestEncodeDecode) {
#endif
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_encodedecode_trace.txt").c_str());
webrtc::EncodeDecodeTest(ACM_TEST_MODE).Perform();
- Trace::ReturnTrace();
}
#if defined(WEBRTC_CODEC_RED)
@@ -59,11 +48,7 @@
#else
TEST(AudioCodingModuleTest, TestRedFec) {
#endif
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_fec_trace.txt").c_str());
webrtc::TestRedFec().Perform();
- Trace::ReturnTrace();
}
#endif
@@ -73,11 +58,7 @@
#else
TEST(AudioCodingModuleTest, TestIsac) {
#endif
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_isac_trace.txt").c_str());
webrtc::ISACTest(ACM_TEST_MODE).Perform();
- Trace::ReturnTrace();
}
#endif
@@ -88,11 +69,7 @@
#else
TEST(AudioCodingModuleTest, TwoWayCommunication) {
#endif
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_twowaycom_trace.txt").c_str());
webrtc::TwoWayCommunication(ACM_TEST_MODE).Perform();
- Trace::ReturnTrace();
}
#endif
@@ -102,11 +79,7 @@
#else
TEST(AudioCodingModuleTest, TestStereo) {
#endif
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_stereo_trace.txt").c_str());
webrtc::TestStereo(ACM_TEST_MODE).Perform();
- Trace::ReturnTrace();
}
// Disabled on ios as flaky, see https://crbug.com/webrtc/7057
@@ -115,19 +88,11 @@
#else
TEST(AudioCodingModuleTest, TestWebRtcVadDtx) {
#endif
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_vaddtx_trace.txt").c_str());
webrtc::TestWebRtcVadDtx().Perform();
- Trace::ReturnTrace();
}
TEST(AudioCodingModuleTest, TestOpusDtx) {
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_opusdtx_trace.txt").c_str());
webrtc::TestOpusDtx().Perform();
- Trace::ReturnTrace();
}
// Disabled on ios as flaky, see https://crbug.com/webrtc/7057
@@ -136,27 +101,15 @@
#else
TEST(AudioCodingModuleTest, TestOpus) {
#endif
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_opus_trace.txt").c_str());
webrtc::OpusTest().Perform();
- Trace::ReturnTrace();
}
TEST(AudioCodingModuleTest, TestPacketLoss) {
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_packetloss_trace.txt").c_str());
webrtc::PacketLossTest(1, 10, 10, 1).Perform();
- Trace::ReturnTrace();
}
TEST(AudioCodingModuleTest, TestPacketLossBurst) {
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_packetloss_burst_trace.txt").c_str());
webrtc::PacketLossTest(1, 10, 10, 2).Perform();
- Trace::ReturnTrace();
}
// Disabled on ios as flake, see https://crbug.com/webrtc/7057
@@ -165,11 +118,7 @@
#else
TEST(AudioCodingModuleTest, TestPacketLossStereo) {
#endif
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_packetloss_trace.txt").c_str());
webrtc::PacketLossTest(2, 10, 10, 1).Perform();
- Trace::ReturnTrace();
}
// Disabled on ios as flake, see https://crbug.com/webrtc/7057
@@ -178,21 +127,13 @@
#else
TEST(AudioCodingModuleTest, TestPacketLossStereoBurst) {
#endif
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_packetloss_burst_trace.txt").c_str());
webrtc::PacketLossTest(2, 10, 10, 2).Perform();
- Trace::ReturnTrace();
}
// The full API test is too long to run automatically on bots, but can be used
// for offline testing. User interaction is needed.
#ifdef ACM_TEST_FULL_API
TEST(AudioCodingModuleTest, TestAPI) {
- Trace::CreateTrace();
- Trace::SetTraceFile((webrtc::test::OutputPath() +
- "acm_apitest_trace.txt").c_str());
webrtc::APITest().Perform();
- Trace::ReturnTrace();
}
#endif
diff --git a/modules/audio_processing/agc/agc_manager_direct_unittest.cc b/modules/audio_processing/agc/agc_manager_direct_unittest.cc
index a7a296b..6a8af6a 100644
--- a/modules/audio_processing/agc/agc_manager_direct_unittest.cc
+++ b/modules/audio_processing/agc/agc_manager_direct_unittest.cc
@@ -13,10 +13,8 @@
#include "common_types.h" // NOLINT(build/include)
#include "modules/audio_processing/agc/mock_agc.h"
#include "modules/audio_processing/include/mock_audio_processing.h"
-#include "system_wrappers/include/trace.h"
#include "test/gmock.h"
#include "test/gtest.h"
-#include "test/testsupport/trace_to_stderr.h"
using ::testing::_;
using ::testing::DoAll;
@@ -94,7 +92,6 @@
test::MockGainControl gctrl_;
TestVolumeCallbacks volume_;
AgcManagerDirect manager_;
- test::TraceToStderr trace_to_stderr;
};
TEST_F(AgcManagerDirectTest, StartupMinVolumeConfigurationIsRespected) {
diff --git a/modules/audio_processing/audio_processing_unittest.cc b/modules/audio_processing/audio_processing_unittest.cc
index 7cd2c95..6893159 100644
--- a/modules/audio_processing/audio_processing_unittest.cc
+++ b/modules/audio_processing/audio_processing_unittest.cc
@@ -38,7 +38,6 @@
#include "rtc_base/task_queue.h"
#include "rtc_base/thread.h"
#include "system_wrappers/include/event_wrapper.h"
-#include "system_wrappers/include/trace.h"
#include "test/gtest.h"
#include "test/testsupport/fileutils.h"
@@ -351,11 +350,9 @@
virtual void TearDown();
static void SetUpTestCase() {
- Trace::CreateTrace();
}
static void TearDownTestCase() {
- Trace::ReturnTrace();
ClearTempFiles();
}
diff --git a/modules/audio_processing/test/aec_dump_based_simulator.cc b/modules/audio_processing/test/aec_dump_based_simulator.cc
index 0e32978..23b7afb 100644
--- a/modules/audio_processing/test/aec_dump_based_simulator.cc
+++ b/modules/audio_processing/test/aec_dump_based_simulator.cc
@@ -14,7 +14,6 @@
#include "modules/audio_processing/test/protobuf_utils.h"
#include "rtc_base/checks.h"
-#include "test/testsupport/trace_to_stderr.h"
namespace webrtc {
namespace test {
@@ -210,11 +209,6 @@
}
void AecDumpBasedSimulator::Process() {
- std::unique_ptr<test::TraceToStderr> trace_to_stderr;
- if (settings_.use_verbose_logging) {
- trace_to_stderr.reset(new test::TraceToStderr(true));
- }
-
CreateAudioProcessor();
dump_input_file_ = OpenFile(settings_.aec_dump_input_filename->c_str(), "rb");
@@ -235,8 +229,6 @@
webrtc::audioproc::Event event_msg;
int num_forward_chunks_processed = 0;
- const float kOneBykChunksPerSecond =
- 1.f / AudioProcessingSimulator::kChunksPerSecond;
while (ReadMessageFromFile(dump_input_file_, &event_msg)) {
switch (event_msg.type()) {
case webrtc::audioproc::Event::INIT:
@@ -259,10 +251,6 @@
default:
RTC_CHECK(false);
}
- if (trace_to_stderr) {
- trace_to_stderr->SetTimeSeconds(num_forward_chunks_processed *
- kOneBykChunksPerSecond);
- }
}
fclose(dump_input_file_);
diff --git a/modules/audio_processing/test/wav_based_simulator.cc b/modules/audio_processing/test/wav_based_simulator.cc
index 5992429..f53d1e5 100644
--- a/modules/audio_processing/test/wav_based_simulator.cc
+++ b/modules/audio_processing/test/wav_based_simulator.cc
@@ -15,7 +15,6 @@
#include "modules/audio_processing/test/test_utils.h"
#include "rtc_base/checks.h"
-#include "test/testsupport/trace_to_stderr.h"
namespace webrtc {
namespace test {
@@ -88,11 +87,6 @@
}
void WavBasedSimulator::Process() {
- std::unique_ptr<test::TraceToStderr> trace_to_stderr;
- if (settings_.use_verbose_logging) {
- trace_to_stderr.reset(new test::TraceToStderr(true));
- }
-
if (settings_.custom_call_order_filename) {
call_chain_ = WavBasedSimulator::GetCustomEventChain(
*settings_.custom_call_order_filename);
@@ -106,8 +100,6 @@
bool samples_left_to_process = true;
int call_chain_index = 0;
int num_forward_chunks_processed = 0;
- const int kOneBykChunksPerSecond =
- 1.f / AudioProcessingSimulator::kChunksPerSecond;
while (samples_left_to_process) {
switch (call_chain_[call_chain_index]) {
case SimulationEventType::kProcessStream:
@@ -124,11 +116,6 @@
}
call_chain_index = (call_chain_index + 1) % call_chain_.size();
-
- if (trace_to_stderr) {
- trace_to_stderr->SetTimeSeconds(num_forward_chunks_processed *
- kOneBykChunksPerSecond);
- }
}
DestroyAudioProcessor();
diff --git a/rtc_base/java/src/org/webrtc/Logging.java b/rtc_base/java/src/org/webrtc/Logging.java
index 3c3b7a6..ef12786 100644
--- a/rtc_base/java/src/org/webrtc/Logging.java
+++ b/rtc_base/java/src/org/webrtc/Logging.java
@@ -22,13 +22,11 @@
* app:
* - Logging.enableLogThreads
* - Logging.enableLogTimeStamps
- * - Logging.enableTracing
* - Logging.enableLogToDebugOutput
* Using native logging requires the presence of the jingle_peerconnection_so library.
*/
public class Logging {
private static final Logger fallbackLogger = createFallbackLogger();
- private static volatile boolean tracingEnabled;
private static volatile boolean loggingEnabled;
private static Logger createFallbackLogger() {
@@ -37,7 +35,8 @@
return fallbackLogger;
}
- // Keep in sync with webrtc/common_types.h:TraceLevel.
+ // TODO(solenberg): Remove once dependent projects updated.
+ @Deprecated
public enum TraceLevel {
TRACE_NONE(0x0000),
TRACE_STATEINFO(0x0001),
@@ -72,19 +71,9 @@
nativeEnableLogTimeStamps();
}
- // Enable tracing to |path| of messages of |levels|.
- // On Android, use "logcat:" for |path| to send output there.
- // Note: this function controls the output of the WEBRTC_TRACE() macros.
- public static synchronized void enableTracing(String path, EnumSet<TraceLevel> levels) {
- if (tracingEnabled) {
- return;
- }
- int nativeLevel = 0;
- for (TraceLevel level : levels) {
- nativeLevel |= level.level;
- }
- nativeEnableTracing(path, nativeLevel);
- tracingEnabled = true;
+ // TODO(solenberg): Remove once dependent projects updated.
+ @Deprecated
+ public static void enableTracing(String path, EnumSet<TraceLevel> levels) {
}
// Enable diagnostic logging for messages of |severity| to the platform debug
@@ -159,7 +148,6 @@
return sw.toString();
}
- private static native void nativeEnableTracing(String path, int nativeLevels);
private static native void nativeEnableLogToDebugOutput(int nativeSeverity);
private static native void nativeEnableLogThreads();
private static native void nativeEnableLogTimeStamps();
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java b/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java
index 699c7de..eff28ec 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/PeerConnectionTest.java
@@ -597,12 +597,6 @@
PeerConnectionFactory.Options options = new PeerConnectionFactory.Options();
options.networkIgnoreMask = 0;
PeerConnectionFactory factory = new PeerConnectionFactory(options);
- // Uncomment to get ALL WebRTC tracing and SENSITIVE libjingle logging.
- // NOTE: this _must_ happen while |factory| is alive!
- // Logging.enableTracing(
- // "/tmp/PeerConnectionTest-log.txt",
- // EnumSet.of(Logging.TraceLevel.TRACE_ALL),
- // Logging.Severity.LS_SENSITIVE);
MediaConstraints pcConstraints = new MediaConstraints();
pcConstraints.mandatory.add(new MediaConstraints.KeyValuePair("DtlsSrtpKeyAgreement", "true"));
diff --git a/sdk/android/src/jni/pc/logging_jni.cc b/sdk/android/src/jni/pc/logging_jni.cc
index 2b3d9d6..7e3e1d3 100644
--- a/sdk/android/src/jni/pc/logging_jni.cc
+++ b/sdk/android/src/jni/pc/logging_jni.cc
@@ -12,33 +12,11 @@
#include "rtc_base/logging.h"
#include "sdk/android/src/jni/jni_helpers.h"
-#include "system_wrappers/include/logcat_trace_context.h"
-#include "system_wrappers/include/trace.h"
namespace webrtc {
namespace jni {
JNI_FUNCTION_DECLARATION(void,
- Logging_nativeEnableTracing,
- JNIEnv* jni,
- jclass,
- jstring j_path,
- jint nativeLevels) {
- std::string path = JavaToStdString(jni, j_path);
- if (nativeLevels != kTraceNone) {
- Trace::set_level_filter(nativeLevels);
- if (path != "logcat:") {
- RTC_CHECK_EQ(0, Trace::SetTraceFile(path.c_str(), false))
- << "SetTraceFile failed";
- } else {
- // Intentionally leak this to avoid needing to reason about its lifecycle.
- // It keeps no state and functions only as a dispatch point.
- static LogcatTraceContext* g_trace_callback = new LogcatTraceContext();
- }
- }
-}
-
-JNI_FUNCTION_DECLARATION(void,
Logging_nativeEnableLogToDebugOutput,
JNIEnv* jni,
jclass,
diff --git a/sdk/android/src/jni/pc/peerconnectionfactory_jni.cc b/sdk/android/src/jni/pc/peerconnectionfactory_jni.cc
index bf35b80..466bf84 100644
--- a/sdk/android/src/jni/pc/peerconnectionfactory_jni.cc
+++ b/sdk/android/src/jni/pc/peerconnectionfactory_jni.cc
@@ -30,7 +30,6 @@
// We don't want to depend on 'system_wrappers:field_trial_default' because
// clients should be able to provide their own implementation.
#include "system_wrappers/include/field_trial_default.h" // nogncheck
-#include "system_wrappers/include/trace.h"
namespace webrtc {
namespace jni {
@@ -147,7 +146,6 @@
// webrtc/rtc_base/ are convoluted, we simply wrap here to avoid having to
// think about ramifications of auto-wrapping there.
rtc::ThreadManager::Instance()->WrapCurrentThread();
- Trace::CreateTrace();
std::unique_ptr<rtc::Thread> network_thread =
rtc::Thread::CreateWithSocketServer();
@@ -225,7 +223,6 @@
delete field_trials_init_string;
field_trials_init_string = NULL;
}
- Trace::ReturnTrace();
}
JNI_FUNCTION_DECLARATION(void,
diff --git a/system_wrappers/BUILD.gn b/system_wrappers/BUILD.gn
index 29ee8b8..30ebc47 100644
--- a/system_wrappers/BUILD.gn
+++ b/system_wrappers/BUILD.gn
@@ -28,7 +28,6 @@
"include/sleep.h",
"include/static_instance.h",
"include/timestamp_extrapolator.h",
- "include/trace.h",
"source/aligned_malloc.cc",
"source/atomic32_win.cc",
"source/clock.cc",
@@ -48,12 +47,6 @@
"source/rw_lock_win.h",
"source/sleep.cc",
"source/timestamp_extrapolator.cc",
- "source/trace_impl.cc",
- "source/trace_impl.h",
- "source/trace_posix.cc",
- "source/trace_posix.h",
- "source/trace_win.cc",
- "source/trace_win.h",
]
defines = []
@@ -68,11 +61,6 @@
]
if (is_android) {
- sources += [
- "include/logcat_trace_context.h",
- "source/logcat_trace_context.cc",
- ]
-
defines += [ "WEBRTC_THREAD_RR" ]
deps += [ ":cpu_features_android" ]
diff --git a/system_wrappers/include/logcat_trace_context.h b/system_wrappers/include/logcat_trace_context.h
deleted file mode 100644
index 8eb688d..0000000
--- a/system_wrappers/include/logcat_trace_context.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef SYSTEM_WRAPPERS_INCLUDE_LOGCAT_TRACE_CONTEXT_H_
-#define SYSTEM_WRAPPERS_INCLUDE_LOGCAT_TRACE_CONTEXT_H_
-
-#include "system_wrappers/include/trace.h"
-
-#ifndef ANDROID
-#error This file only makes sense to include on Android!
-#endif
-
-namespace webrtc {
-
-// Scoped helper class for directing Traces to Android's logcat facility. While
-// this object lives, Trace output will be sent to logcat.
-class LogcatTraceContext : public webrtc::TraceCallback {
- public:
- LogcatTraceContext();
- ~LogcatTraceContext() override;
-
- // TraceCallback impl.
- void Print(TraceLevel level, const char* message, int length) override;
-};
-
-} // namespace webrtc
-
-#endif // SYSTEM_WRAPPERS_INCLUDE_LOGCAT_TRACE_CONTEXT_H_
diff --git a/system_wrappers/include/trace.h b/system_wrappers/include/trace.h
deleted file mode 100644
index e498a52..0000000
--- a/system_wrappers/include/trace.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- *
- * System independent wrapper for logging runtime information to file.
- * Note: All log messages will be written to the same trace file.
- * Note: If too many messages are written to file there will be a build up of
- * messages. Apply filtering to avoid that.
- */
-
-#ifndef SYSTEM_WRAPPERS_INCLUDE_TRACE_H_
-#define SYSTEM_WRAPPERS_INCLUDE_TRACE_H_
-
-#include "common_types.h" // NOLINT(build/include)
-#include "typedefs.h" // NOLINT(build/include)
-
-namespace webrtc {
-
-#if defined(WEBRTC_RESTRICT_LOGGING)
-// Disable all TRACE macros. The LOG macro is still functional.
-#define WEBRTC_TRACE true ? (void) 0 : Trace::Add
-#else
-#define WEBRTC_TRACE Trace::Add
-#endif
-
-class Trace {
- public:
- // The length of the trace text preceeding the log message.
- static const int kBoilerplateLength;
- // The position of the timestamp text within a trace.
- static const int kTimestampPosition;
- // The length of the timestamp (without "delta" field).
- static const int kTimestampLength;
-
- // Increments the reference count to the trace.
- static void CreateTrace();
- // Decrements the reference count to the trace.
- static void ReturnTrace();
- // Note: any instance that writes to the trace file should increment and
- // decrement the reference count on construction and destruction,
- // respectively.
-
- // Specifies what type of messages should be written to the trace file. The
- // filter parameter is a bitmask where each message type is enumerated by the
- // TraceLevel enumerator. TODO(hellner): why is the TraceLevel enumerator not
- // defined in this file?
- static void set_level_filter(int filter);
-
- // Returns what type of messages are written to the trace file.
- static int level_filter();
-
- // Sets the file name. If add_file_counter is false the same file will be
- // reused when it fills up. If it's true a new file with incremented name
- // will be used.
- static int32_t SetTraceFile(const char* file_name,
- const bool add_file_counter = false);
-
- // Registers callback to receive trace messages.
- // TODO(hellner): Why not use OutStream instead? Why is TraceCallback not
- // defined in this file?
- static int32_t SetTraceCallback(TraceCallback* callback);
-
- // Adds a trace message for writing to file. The message is put in a queue
- // for writing to file whenever possible for performance reasons. I.e. there
- // is a crash it is possible that the last, vital logs are not logged yet.
- // level is the type of message to log. If that type of messages is
- // filtered it will not be written to file. module is an identifier for what
- // part of the code the message is coming.
- // id is an identifier that should be unique for that set of classes that
- // are associated (e.g. all instances owned by an engine).
- // msg and the ellipsis are the same as e.g. sprintf.
- // TODO(hellner) Why is TraceModule not defined in this file?
- static void Add(const TraceLevel level,
- const TraceModule module,
- const int32_t id,
- const char* msg, ...);
-
- private:
- static volatile int level_filter_;
-};
-
-} // namespace webrtc
-
-#endif // SYSTEM_WRAPPERS_INCLUDE_TRACE_H_
diff --git a/system_wrappers/source/logcat_trace_context.cc b/system_wrappers/source/logcat_trace_context.cc
deleted file mode 100644
index cb43ddd..0000000
--- a/system_wrappers/source/logcat_trace_context.cc
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "system_wrappers/include/logcat_trace_context.h"
-
-#include <android/log.h>
-#include <assert.h>
-
-#include "rtc_base/logging.h"
-
-namespace webrtc {
-
-static android_LogPriority AndroidLogPriorityFromWebRtcLogLevel(
- TraceLevel webrtc_level) {
- // NOTE: this mapping is somewhat arbitrary. StateInfo and Info are mapped
- // to DEBUG because they are highly verbose in webrtc code (which is
- // unfortunate).
- switch (webrtc_level) {
- case webrtc::kTraceStateInfo: return ANDROID_LOG_DEBUG;
- case webrtc::kTraceWarning: return ANDROID_LOG_WARN;
- case webrtc::kTraceError: return ANDROID_LOG_ERROR;
- case webrtc::kTraceCritical: return ANDROID_LOG_FATAL;
- case webrtc::kTraceApiCall: return ANDROID_LOG_VERBOSE;
- case webrtc::kTraceModuleCall: return ANDROID_LOG_VERBOSE;
- case webrtc::kTraceMemory: return ANDROID_LOG_VERBOSE;
- case webrtc::kTraceTimer: return ANDROID_LOG_VERBOSE;
- case webrtc::kTraceStream: return ANDROID_LOG_VERBOSE;
- case webrtc::kTraceDebug: return ANDROID_LOG_DEBUG;
- case webrtc::kTraceInfo: return ANDROID_LOG_DEBUG;
- case webrtc::kTraceTerseInfo: return ANDROID_LOG_INFO;
- default:
- LOG(LS_ERROR) << "Unexpected log level" << webrtc_level;
- return ANDROID_LOG_FATAL;
- }
-}
-
-LogcatTraceContext::LogcatTraceContext() {
- webrtc::Trace::CreateTrace();
- if (webrtc::Trace::SetTraceCallback(this) != 0)
- assert(false);
-}
-
-LogcatTraceContext::~LogcatTraceContext() {
- if (webrtc::Trace::SetTraceCallback(NULL) != 0)
- assert(false);
- webrtc::Trace::ReturnTrace();
-}
-
-void LogcatTraceContext::Print(TraceLevel level,
- const char* message,
- int length) {
- __android_log_print(AndroidLogPriorityFromWebRtcLogLevel(level),
- "WEBRTC", "%.*s", length, message);
-}
-
-} // namespace webrtc
diff --git a/system_wrappers/source/trace_impl.cc b/system_wrappers/source/trace_impl.cc
deleted file mode 100644
index c1ec984..0000000
--- a/system_wrappers/source/trace_impl.cc
+++ /dev/null
@@ -1,583 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "system_wrappers/source/trace_impl.h"
-
-#include <assert.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "rtc_base/atomicops.h"
-#include "rtc_base/platform_thread.h"
-#ifdef _WIN32
-#include "system_wrappers/source/trace_win.h"
-#else
-#include "system_wrappers/source/trace_posix.h"
-#endif // _WIN32
-
-#define KEY_LEN_CHARS 31
-
-#ifdef _WIN32
-#pragma warning(disable:4355)
-#endif // _WIN32
-
-namespace webrtc {
-
-const int Trace::kBoilerplateLength = 71;
-const int Trace::kTimestampPosition = 13;
-const int Trace::kTimestampLength = 12;
-volatile int Trace::level_filter_ = kTraceDefault;
-
-// Construct On First Use idiom. Avoids "static initialization order fiasco".
-TraceImpl* TraceImpl::StaticInstance(CountOperation count_operation,
- const TraceLevel level) {
- // Sanities to avoid taking lock unless absolutely necessary (for
- // performance reasons). count_operation == kAddRefNoCreate implies that a
- // message will be written to file.
- if ((level != kTraceAll) && (count_operation == kAddRefNoCreate)) {
- if (!(level & level_filter())) {
- return NULL;
- }
- }
- TraceImpl* impl =
- GetStaticInstance<TraceImpl>(count_operation);
- return impl;
-}
-
-TraceImpl* TraceImpl::GetTrace(const TraceLevel level) {
- return StaticInstance(kAddRefNoCreate, level);
-}
-
-TraceImpl* TraceImpl::CreateInstance() {
-#if defined(_WIN32)
- return new TraceWindows();
-#else
- return new TracePosix();
-#endif
-}
-
-TraceImpl::TraceImpl()
- : callback_(NULL),
- row_count_text_(0),
- file_count_text_(0),
- trace_file_(FileWrapper::Create()) {
-}
-
-TraceImpl::~TraceImpl() {
- trace_file_->CloseFile();
-}
-
-int32_t TraceImpl::AddThreadId(char* trace_message) const {
- uint32_t thread_id = rtc::CurrentThreadId();
- // Messages is 12 characters.
- return sprintf(trace_message, "%10u; ", thread_id);
-}
-
-int32_t TraceImpl::AddLevel(char* sz_message, const TraceLevel level) const {
- const int kMessageLength = 12;
- switch (level) {
- case kTraceTerseInfo:
- // Add the appropriate amount of whitespace.
- memset(sz_message, ' ', kMessageLength);
- sz_message[kMessageLength] = '\0';
- break;
- case kTraceStateInfo:
- sprintf(sz_message, "STATEINFO ; ");
- break;
- case kTraceWarning:
- sprintf(sz_message, "WARNING ; ");
- break;
- case kTraceError:
- sprintf(sz_message, "ERROR ; ");
- break;
- case kTraceCritical:
- sprintf(sz_message, "CRITICAL ; ");
- break;
- case kTraceInfo:
- sprintf(sz_message, "DEBUGINFO ; ");
- break;
- case kTraceModuleCall:
- sprintf(sz_message, "MODULECALL; ");
- break;
- case kTraceMemory:
- sprintf(sz_message, "MEMORY ; ");
- break;
- case kTraceTimer:
- sprintf(sz_message, "TIMER ; ");
- break;
- case kTraceStream:
- sprintf(sz_message, "STREAM ; ");
- break;
- case kTraceApiCall:
- sprintf(sz_message, "APICALL ; ");
- break;
- case kTraceDebug:
- sprintf(sz_message, "DEBUG ; ");
- break;
- default:
- assert(false);
- return 0;
- }
- // All messages are 12 characters.
- return kMessageLength;
-}
-
-int32_t TraceImpl::AddModuleAndId(char* trace_message,
- const TraceModule module,
- const int32_t id) const {
- // Use long int to prevent problems with different definitions of
- // int32_t.
- // TODO(hellner): is this actually a problem? If so, it should be better to
- // clean up int32_t
- const long int idl = id;
- const int kMessageLength = 25;
- if (idl != -1) {
- const unsigned long int id_engine = id >> 16;
- const unsigned long int id_channel = id & 0xffff;
-
- switch (module) {
- case kTraceUndefined:
- // Add the appropriate amount of whitespace.
- memset(trace_message, ' ', kMessageLength);
- trace_message[kMessageLength] = '\0';
- break;
- case kTraceVoice:
- sprintf(trace_message, " VOICE:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceVideo:
- sprintf(trace_message, " VIDEO:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceUtility:
- sprintf(trace_message, " UTILITY:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceRtpRtcp:
- sprintf(trace_message, " RTP/RTCP:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceTransport:
- sprintf(trace_message, " TRANSPORT:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceAudioCoding:
- sprintf(trace_message, "AUDIO CODING:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceSrtp:
- sprintf(trace_message, " SRTP:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceAudioMixerServer:
- sprintf(trace_message, " AUDIO MIX/S:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceAudioMixerClient:
- sprintf(trace_message, " AUDIO MIX/C:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceVideoCoding:
- sprintf(trace_message, "VIDEO CODING:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceVideoMixer:
- // Print sleep time and API call
- sprintf(trace_message, " VIDEO MIX:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceFile:
- sprintf(trace_message, " FILE:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceAudioProcessing:
- sprintf(trace_message, " AUDIO PROC:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceAudioDevice:
- sprintf(trace_message, "AUDIO DEVICE:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceVideoRenderer:
- sprintf(trace_message, "VIDEO RENDER:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceVideoCapture:
- sprintf(trace_message, "VIDEO CAPTUR:%5ld %5ld;", id_engine,
- id_channel);
- break;
- case kTraceRemoteBitrateEstimator:
- sprintf(trace_message, " BWE RBE:%5ld %5ld;", id_engine,
- id_channel);
- break;
- }
- } else {
- switch (module) {
- case kTraceUndefined:
- // Add the appropriate amount of whitespace.
- memset(trace_message, ' ', kMessageLength);
- trace_message[kMessageLength] = '\0';
- break;
- case kTraceVoice:
- sprintf(trace_message, " VOICE:%11ld;", idl);
- break;
- case kTraceVideo:
- sprintf(trace_message, " VIDEO:%11ld;", idl);
- break;
- case kTraceUtility:
- sprintf(trace_message, " UTILITY:%11ld;", idl);
- break;
- case kTraceRtpRtcp:
- sprintf(trace_message, " RTP/RTCP:%11ld;", idl);
- break;
- case kTraceTransport:
- sprintf(trace_message, " TRANSPORT:%11ld;", idl);
- break;
- case kTraceAudioCoding:
- sprintf(trace_message, "AUDIO CODING:%11ld;", idl);
- break;
- case kTraceSrtp:
- sprintf(trace_message, " SRTP:%11ld;", idl);
- break;
- case kTraceAudioMixerServer:
- sprintf(trace_message, " AUDIO MIX/S:%11ld;", idl);
- break;
- case kTraceAudioMixerClient:
- sprintf(trace_message, " AUDIO MIX/C:%11ld;", idl);
- break;
- case kTraceVideoCoding:
- sprintf(trace_message, "VIDEO CODING:%11ld;", idl);
- break;
- case kTraceVideoMixer:
- sprintf(trace_message, " VIDEO MIX:%11ld;", idl);
- break;
- case kTraceFile:
- sprintf(trace_message, " FILE:%11ld;", idl);
- break;
- case kTraceAudioProcessing:
- sprintf(trace_message, " AUDIO PROC:%11ld;", idl);
- break;
- case kTraceAudioDevice:
- sprintf(trace_message, "AUDIO DEVICE:%11ld;", idl);
- break;
- case kTraceVideoRenderer:
- sprintf(trace_message, "VIDEO RENDER:%11ld;", idl);
- break;
- case kTraceVideoCapture:
- sprintf(trace_message, "VIDEO CAPTUR:%11ld;", idl);
- break;
- case kTraceRemoteBitrateEstimator:
- sprintf(trace_message, " BWE RBE:%11ld;", idl);
- break;
- }
- }
- return kMessageLength;
-}
-
-int32_t TraceImpl::SetTraceFileImpl(const char* file_name_utf8,
- const bool add_file_counter) {
- rtc::CritScope lock(&crit_);
-
- trace_file_->CloseFile();
- trace_file_path_.clear();
-
- if (file_name_utf8) {
- if (add_file_counter) {
- file_count_text_ = 1;
-
- char file_name_with_counter_utf8[FileWrapper::kMaxFileNameSize];
- CreateFileName(file_name_utf8, file_name_with_counter_utf8,
- file_count_text_);
- if (!trace_file_->OpenFile(file_name_with_counter_utf8, false)) {
- return -1;
- }
- trace_file_path_ = file_name_with_counter_utf8;
- } else {
- file_count_text_ = 0;
- if (!trace_file_->OpenFile(file_name_utf8, false)) {
- return -1;
- }
- trace_file_path_ = file_name_utf8;
- }
- }
- row_count_text_ = 0;
- return 0;
-}
-
-int32_t TraceImpl::SetTraceCallbackImpl(TraceCallback* callback) {
- rtc::CritScope lock(&crit_);
- callback_ = callback;
- return 0;
-}
-
-int32_t TraceImpl::AddMessage(
- char* trace_message,
- const char msg[WEBRTC_TRACE_MAX_MESSAGE_SIZE],
- const uint16_t written_so_far) const {
- int length = 0;
- if (written_so_far >= WEBRTC_TRACE_MAX_MESSAGE_SIZE) {
- return -1;
- }
- // - 2 to leave room for newline and NULL termination.
-#ifdef _WIN32
- length = _snprintf(trace_message,
- WEBRTC_TRACE_MAX_MESSAGE_SIZE - written_so_far - 2,
- "%s", msg);
- if (length < 0) {
- length = WEBRTC_TRACE_MAX_MESSAGE_SIZE - written_so_far - 2;
- trace_message[length] = 0;
- }
-#else
- length = snprintf(trace_message,
- WEBRTC_TRACE_MAX_MESSAGE_SIZE - written_so_far - 2,
- "%s", msg);
- if (length < 0 ||
- length > WEBRTC_TRACE_MAX_MESSAGE_SIZE - written_so_far - 2) {
- length = WEBRTC_TRACE_MAX_MESSAGE_SIZE - written_so_far - 2;
- trace_message[length] = 0;
- }
-#endif
- // Length with NULL termination.
- return length + 1;
-}
-
-void TraceImpl::AddMessageToList(
- const char trace_message[WEBRTC_TRACE_MAX_MESSAGE_SIZE],
- const uint16_t length,
- const TraceLevel level) {
- rtc::CritScope lock(&crit_);
- if (callback_)
- callback_->Print(level, trace_message, length);
- WriteToFile(trace_message, length);
-}
-
-void TraceImpl::WriteToFile(const char* msg, uint16_t length) {
- if (!trace_file_->is_open())
- return;
-
- if (row_count_text_ > WEBRTC_TRACE_MAX_FILE_SIZE) {
- // wrap file
- row_count_text_ = 0;
- trace_file_->Flush();
-
- if (file_count_text_ == 0) {
- trace_file_->Rewind();
- } else {
- char new_file_name[FileWrapper::kMaxFileNameSize];
-
- // get current name
- file_count_text_++;
- UpdateFileName(new_file_name, file_count_text_);
-
- trace_file_->CloseFile();
- trace_file_path_.clear();
-
- if (!trace_file_->OpenFile(new_file_name, false)) {
- return;
- }
- trace_file_path_ = new_file_name;
- }
- }
- if (row_count_text_ == 0) {
- char message[WEBRTC_TRACE_MAX_MESSAGE_SIZE + 1];
- int32_t length = AddDateTimeInfo(message);
- if (length != -1) {
- message[length] = 0;
- message[length - 1] = '\n';
- trace_file_->Write(message, length);
- row_count_text_++;
- }
- }
-
- char trace_message[WEBRTC_TRACE_MAX_MESSAGE_SIZE];
- memcpy(trace_message, msg, length);
- trace_message[length] = 0;
- trace_message[length - 1] = '\n';
- trace_file_->Write(trace_message, length);
- row_count_text_++;
-}
-
-void TraceImpl::AddImpl(const TraceLevel level,
- const TraceModule module,
- const int32_t id,
- const char msg[WEBRTC_TRACE_MAX_MESSAGE_SIZE]) {
- if (!TraceCheck(level))
- return;
-
- char trace_message[WEBRTC_TRACE_MAX_MESSAGE_SIZE];
- char* message_ptr = &trace_message[0];
- int32_t len = AddLevel(message_ptr, level);
- if (len == -1)
- return;
-
- message_ptr += len;
- int32_t ack_len = len;
-
- len = AddTime(message_ptr, level);
- if (len == -1)
- return;
-
- message_ptr += len;
- ack_len += len;
-
- len = AddModuleAndId(message_ptr, module, id);
- if (len == -1)
- return;
-
- message_ptr += len;
- ack_len += len;
-
- len = AddThreadId(message_ptr);
- if (len < 0)
- return;
-
- message_ptr += len;
- ack_len += len;
-
- len = AddMessage(message_ptr, msg, static_cast<uint16_t>(ack_len));
- if (len == -1)
- return;
-
- ack_len += len;
- AddMessageToList(trace_message, static_cast<uint16_t>(ack_len), level);
-}
-
-bool TraceImpl::TraceCheck(const TraceLevel level) const {
- return (level & level_filter()) ? true : false;
-}
-
-bool TraceImpl::UpdateFileName(
- char file_name_with_counter_utf8[FileWrapper::kMaxFileNameSize],
- const uint32_t new_count) const {
- int32_t length = static_cast<int32_t>(trace_file_path_.length());
-
- int32_t length_without_file_ending = length - 1;
- while (length_without_file_ending > 0) {
- if (trace_file_path_[length_without_file_ending] == '.') {
- break;
- } else {
- length_without_file_ending--;
- }
- }
- if (length_without_file_ending == 0) {
- length_without_file_ending = length;
- }
- int32_t length_to_ = length_without_file_ending - 1;
- while (length_to_ > 0) {
- if (trace_file_path_[length_to_] == '_') {
- break;
- } else {
- length_to_--;
- }
- }
-
- memcpy(file_name_with_counter_utf8, &trace_file_path_[0], length_to_);
- sprintf(file_name_with_counter_utf8 + length_to_, "_%lu%s",
- static_cast<long unsigned int>(new_count),
- &trace_file_path_[length_without_file_ending]);
- return true;
-}
-
-bool TraceImpl::CreateFileName(
- const char file_name_utf8[FileWrapper::kMaxFileNameSize],
- char file_name_with_counter_utf8[FileWrapper::kMaxFileNameSize],
- const uint32_t new_count) const {
- int32_t length = (int32_t)strlen(file_name_utf8);
- if (length < 0) {
- return false;
- }
-
- int32_t length_without_file_ending = length - 1;
- while (length_without_file_ending > 0) {
- if (file_name_utf8[length_without_file_ending] == '.') {
- break;
- } else {
- length_without_file_ending--;
- }
- }
- if (length_without_file_ending == 0) {
- length_without_file_ending = length;
- }
- memcpy(file_name_with_counter_utf8, file_name_utf8,
- length_without_file_ending);
- sprintf(file_name_with_counter_utf8 + length_without_file_ending, "_%lu%s",
- static_cast<long unsigned int>(new_count),
- file_name_utf8 + length_without_file_ending);
- return true;
-}
-
-// static
-void Trace::CreateTrace() {
- TraceImpl::StaticInstance(kAddRef);
-}
-
-// static
-void Trace::ReturnTrace() {
- TraceImpl::StaticInstance(kRelease);
-}
-
-// static
-void Trace::set_level_filter(int filter) {
- rtc::AtomicOps::ReleaseStore(&level_filter_, filter);
-}
-
-// static
-int Trace::level_filter() {
- return rtc::AtomicOps::AcquireLoad(&level_filter_);
-}
-
-// static
-int32_t Trace::SetTraceFile(const char* file_name,
- const bool add_file_counter) {
- TraceImpl* trace = TraceImpl::GetTrace();
- if (trace) {
- int ret_val = trace->SetTraceFileImpl(file_name, add_file_counter);
- ReturnTrace();
- return ret_val;
- }
- return -1;
-}
-
-int32_t Trace::SetTraceCallback(TraceCallback* callback) {
- TraceImpl* trace = TraceImpl::GetTrace();
- if (trace) {
- int ret_val = trace->SetTraceCallbackImpl(callback);
- ReturnTrace();
- return ret_val;
- }
- return -1;
-}
-
-void Trace::Add(const TraceLevel level, const TraceModule module,
- const int32_t id, const char* msg, ...) {
- TraceImpl* trace = TraceImpl::GetTrace(level);
- if (trace) {
- if (trace->TraceCheck(level)) {
- char temp_buff[WEBRTC_TRACE_MAX_MESSAGE_SIZE];
- char* buff = 0;
- if (msg) {
- va_list args;
- va_start(args, msg);
-#ifdef _WIN32
- _vsnprintf(temp_buff, WEBRTC_TRACE_MAX_MESSAGE_SIZE - 1, msg, args);
-#else
- vsnprintf(temp_buff, WEBRTC_TRACE_MAX_MESSAGE_SIZE - 1, msg, args);
-#endif
- va_end(args);
- buff = temp_buff;
- }
- trace->AddImpl(level, module, id, buff);
- }
- ReturnTrace();
- }
-}
-
-} // namespace webrtc
diff --git a/system_wrappers/source/trace_impl.h b/system_wrappers/source/trace_impl.h
deleted file mode 100644
index 3e730f6..0000000
--- a/system_wrappers/source/trace_impl.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef SYSTEM_WRAPPERS_SOURCE_TRACE_IMPL_H_
-#define SYSTEM_WRAPPERS_SOURCE_TRACE_IMPL_H_
-
-#include <memory>
-
-#include "rtc_base/criticalsection.h"
-#include "rtc_base/platform_thread.h"
-#include "system_wrappers/include/event_wrapper.h"
-#include "system_wrappers/include/file_wrapper.h"
-#include "system_wrappers/include/static_instance.h"
-#include "system_wrappers/include/trace.h"
-
-namespace webrtc {
-
-#define WEBRTC_TRACE_MAX_MESSAGE_SIZE 1024
-// Total buffer size is WEBRTC_TRACE_NUM_ARRAY (number of buffer partitions) *
-// WEBRTC_TRACE_MAX_QUEUE (number of lines per buffer partition) *
-// WEBRTC_TRACE_MAX_MESSAGE_SIZE (number of 1 byte charachters per line) =
-// 1 or 4 Mbyte.
-
-#define WEBRTC_TRACE_MAX_FILE_SIZE 100*1000
-// Number of rows that may be written to file. On average 110 bytes per row (max
-// 256 bytes per row). So on average 110*100*1000 = 11 Mbyte, max 256*100*1000 =
-// 25.6 Mbyte
-
-class TraceImpl : public Trace {
- public:
- virtual ~TraceImpl();
-
- static TraceImpl* CreateInstance();
- static TraceImpl* GetTrace(const TraceLevel level = kTraceAll);
-
- int32_t SetTraceFileImpl(const char* file_name, const bool add_file_counter);
- int32_t SetTraceCallbackImpl(TraceCallback* callback);
-
- void AddImpl(const TraceLevel level, const TraceModule module,
- const int32_t id, const char* msg);
-
- bool TraceCheck(const TraceLevel level) const;
-
- protected:
- TraceImpl();
-
- static TraceImpl* StaticInstance(CountOperation count_operation,
- const TraceLevel level = kTraceAll);
-
- int32_t AddThreadId(char* trace_message) const;
-
- // OS specific implementations.
- virtual int32_t AddTime(char* trace_message,
- const TraceLevel level) const = 0;
-
- virtual int32_t AddDateTimeInfo(char* trace_message) const = 0;
-
- private:
- friend class Trace;
-
- int32_t AddLevel(char* sz_message, const TraceLevel level) const;
-
- int32_t AddModuleAndId(char* trace_message, const TraceModule module,
- const int32_t id) const;
-
- int32_t AddMessage(char* trace_message,
- const char msg[WEBRTC_TRACE_MAX_MESSAGE_SIZE],
- const uint16_t written_so_far) const;
-
- void AddMessageToList(
- const char trace_message[WEBRTC_TRACE_MAX_MESSAGE_SIZE],
- const uint16_t length,
- const TraceLevel level);
-
- bool UpdateFileName(
- char file_name_with_counter_utf8[FileWrapper::kMaxFileNameSize],
- const uint32_t new_count) const RTC_EXCLUSIVE_LOCKS_REQUIRED(crit_);
-
- bool CreateFileName(
- const char file_name_utf8[FileWrapper::kMaxFileNameSize],
- char file_name_with_counter_utf8[FileWrapper::kMaxFileNameSize],
- const uint32_t new_count) const;
-
- void WriteToFile(const char* msg, uint16_t length)
- RTC_EXCLUSIVE_LOCKS_REQUIRED(crit_);
-
- TraceCallback* callback_ RTC_GUARDED_BY(crit_);
- uint32_t row_count_text_ RTC_GUARDED_BY(crit_);
- uint32_t file_count_text_ RTC_GUARDED_BY(crit_);
-
- const std::unique_ptr<FileWrapper> trace_file_ RTC_GUARDED_BY(crit_);
- std::string trace_file_path_ RTC_GUARDED_BY(crit_);
- rtc::CriticalSection crit_;
-};
-
-} // namespace webrtc
-
-#endif // SYSTEM_WRAPPERS_SOURCE_TRACE_IMPL_H_
diff --git a/system_wrappers/source/trace_posix.cc b/system_wrappers/source/trace_posix.cc
deleted file mode 100644
index a017333..0000000
--- a/system_wrappers/source/trace_posix.cc
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "system_wrappers/source/trace_posix.h"
-
-#include <assert.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/time.h>
-#include <time.h>
-
-namespace webrtc {
-
-TracePosix::TracePosix() {
- struct timeval system_time_high_res;
- gettimeofday(&system_time_high_res, 0);
- prev_api_tick_count_ = prev_tick_count_ = system_time_high_res.tv_sec;
-}
-
-int32_t TracePosix::AddTime(char* trace_message, const TraceLevel level) const {
- struct timeval system_time_high_res;
- if (gettimeofday(&system_time_high_res, 0) == -1) {
- return -1;
- }
- struct tm buffer;
- const struct tm* system_time =
- localtime_r(&system_time_high_res.tv_sec, &buffer);
-
- const uint32_t ms_time = system_time_high_res.tv_usec / 1000;
- uint32_t prev_tickCount = 0;
- {
- rtc::CritScope lock(&crit_sect_);
- if (level == kTraceApiCall) {
- prev_tickCount = prev_tick_count_;
- prev_tick_count_ = ms_time;
- } else {
- prev_tickCount = prev_api_tick_count_;
- prev_api_tick_count_ = ms_time;
- }
- }
-
- uint32_t dw_delta_time = ms_time - prev_tickCount;
- if (prev_tickCount == 0) {
- dw_delta_time = 0;
- }
- if (dw_delta_time > 0x0fffffff) {
- // Either wraparound or data race.
- dw_delta_time = 0;
- }
- if (dw_delta_time > 99999) {
- dw_delta_time = 99999;
- }
-
- sprintf(trace_message, "(%2u:%2u:%2u:%3u |%5lu) ", system_time->tm_hour,
- system_time->tm_min, system_time->tm_sec, ms_time,
- static_cast<unsigned long>(dw_delta_time));
- // Messages are 22 characters.
- return 22;
-}
-
-int32_t TracePosix::AddDateTimeInfo(char* trace_message) const {
- time_t t;
- time(&t);
- char buffer[26]; // man ctime says buffer should have room for >=26 bytes.
- sprintf(trace_message, "Local Date: %s", ctime_r(&t, buffer));
- int32_t len = static_cast<int32_t>(strlen(trace_message));
-
- if ('\n' == trace_message[len - 1]) {
- trace_message[len - 1] = '\0';
- --len;
- }
-
- // Messages is 12 characters.
- return len + 1;
-}
-
-} // namespace webrtc
diff --git a/system_wrappers/source/trace_posix.h b/system_wrappers/source/trace_posix.h
deleted file mode 100644
index 357d226..0000000
--- a/system_wrappers/source/trace_posix.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef SYSTEM_WRAPPERS_SOURCE_TRACE_POSIX_H_
-#define SYSTEM_WRAPPERS_SOURCE_TRACE_POSIX_H_
-
-#include "rtc_base/criticalsection.h"
-#include "system_wrappers/source/trace_impl.h"
-
-namespace webrtc {
-
-class TracePosix : public TraceImpl {
- public:
- TracePosix();
- ~TracePosix() override = default;
-
- // This method can be called on several different threads different from
- // the creating thread.
- int32_t AddTime(char* trace_message, const TraceLevel level) const override;
-
- int32_t AddDateTimeInfo(char* trace_message) const override;
-
- private:
- volatile mutable uint32_t prev_api_tick_count_;
- volatile mutable uint32_t prev_tick_count_;
-
- rtc::CriticalSection crit_sect_;
-};
-
-} // namespace webrtc
-
-#endif // SYSTEM_WRAPPERS_SOURCE_TRACE_POSIX_H_
diff --git a/system_wrappers/source/trace_win.cc b/system_wrappers/source/trace_win.cc
deleted file mode 100644
index 2becb78..0000000
--- a/system_wrappers/source/trace_win.cc
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "system_wrappers/source/trace_win.h"
-
-#include <assert.h>
-#include <stdarg.h>
-
-#include "Mmsystem.h"
-
-namespace webrtc {
-TraceWindows::TraceWindows()
- : prev_api_tick_count_(0),
- prev_tick_count_(0) {
-}
-
-TraceWindows::~TraceWindows() {
-}
-
-int32_t TraceWindows::AddTime(char* trace_message,
- const TraceLevel level) const {
- uint32_t dw_current_time = timeGetTime();
- SYSTEMTIME system_time;
- GetSystemTime(&system_time);
-
- if (level == kTraceApiCall) {
- uint32_t dw_delta_time = dw_current_time - prev_tick_count_;
- prev_tick_count_ = dw_current_time;
-
- if (prev_tick_count_ == 0) {
- dw_delta_time = 0;
- }
- if (dw_delta_time > 0x0fffffff) {
- // Either wrap-around or data race.
- dw_delta_time = 0;
- }
- if (dw_delta_time > 99999) {
- dw_delta_time = 99999;
- }
-
- sprintf(trace_message, "(%2u:%2u:%2u:%3u |%5u) ", system_time.wHour,
- system_time.wMinute, system_time.wSecond,
- system_time.wMilliseconds, dw_delta_time);
- } else {
- uint32_t dw_delta_time = dw_current_time - prev_api_tick_count_;
- prev_api_tick_count_ = dw_current_time;
-
- if (prev_api_tick_count_ == 0) {
- dw_delta_time = 0;
- }
- if (dw_delta_time > 0x0fffffff) {
- // Either wraparound or data race.
- dw_delta_time = 0;
- }
- if (dw_delta_time > 99999) {
- dw_delta_time = 99999;
- }
- sprintf(trace_message, "(%2u:%2u:%2u:%3u |%5u) ", system_time.wHour,
- system_time.wMinute, system_time.wSecond,
- system_time.wMilliseconds, dw_delta_time);
- }
- return 22;
-}
-
-int32_t TraceWindows::AddDateTimeInfo(char* trace_message) const {
- prev_api_tick_count_ = timeGetTime();
- prev_tick_count_ = prev_api_tick_count_;
-
- SYSTEMTIME sys_time;
- GetLocalTime(&sys_time);
-
- TCHAR sz_date_str[20];
- TCHAR sz_time_str[20];
-
- // Create date string (e.g. Apr 04 2002)
- GetDateFormat(LOCALE_SYSTEM_DEFAULT, 0, &sys_time, TEXT("MMM dd yyyy"),
- sz_date_str, 20);
-
- // Create time string (e.g. 15:32:08)
- GetTimeFormat(LOCALE_SYSTEM_DEFAULT, 0, &sys_time, TEXT("HH':'mm':'ss"),
- sz_time_str, 20);
-
- sprintf(trace_message, "Local Date: %ls Local Time: %ls", sz_date_str,
- sz_time_str);
-
- // Include NULL termination (hence + 1).
- return static_cast<int32_t>(strlen(trace_message) + 1);
-}
-
-} // namespace webrtc
diff --git a/system_wrappers/source/trace_win.h b/system_wrappers/source/trace_win.h
deleted file mode 100644
index b1a41f2..0000000
--- a/system_wrappers/source/trace_win.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef SYSTEM_WRAPPERS_SOURCE_TRACE_WIN_H_
-#define SYSTEM_WRAPPERS_SOURCE_TRACE_WIN_H_
-
-#include <stdio.h>
-#include <windows.h>
-
-#include "system_wrappers/source/trace_impl.h"
-
-namespace webrtc {
-
-class TraceWindows : public TraceImpl {
- public:
- TraceWindows();
- virtual ~TraceWindows();
-
- virtual int32_t AddTime(char* trace_message, const TraceLevel level) const;
-
- virtual int32_t AddDateTimeInfo(char* trace_message) const;
- private:
- volatile mutable uint32_t prev_api_tick_count_;
- volatile mutable uint32_t prev_tick_count_;
-};
-
-} // namespace webrtc
-
-#endif // SYSTEM_WRAPPERS_SOURCE_TRACE_WIN_H_
diff --git a/test/BUILD.gn b/test/BUILD.gn
index adb2dbf..78a734d 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -135,8 +135,6 @@
"testsupport/packet_reader.h",
"testsupport/perf_test.cc",
"testsupport/perf_test.h",
- "testsupport/trace_to_stderr.cc",
- "testsupport/trace_to_stderr.h",
"testsupport/unittest_utils.h",
]
diff --git a/test/test_main.cc b/test/test_main.cc
index 8a6f266..8bd2ed2 100644
--- a/test/test_main.cc
+++ b/test/test_main.cc
@@ -15,7 +15,6 @@
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/testsupport/fileutils.h"
-#include "test/testsupport/trace_to_stderr.h"
#if defined(WEBRTC_IOS)
#include "test/ios/test_support.h"
@@ -57,9 +56,6 @@
webrtc::metrics::Enable();
rtc::LogMessage::SetLogToStderr(FLAG_logs);
- std::unique_ptr<webrtc::test::TraceToStderr> trace_to_stderr;
- if (FLAG_logs)
- trace_to_stderr.reset(new webrtc::test::TraceToStderr);
#if defined(WEBRTC_IOS)
rtc::test::InitTestSuite(RUN_ALL_TESTS, argc, argv);
rtc::test::RunTestsFromIOSApp();
diff --git a/test/testsupport/trace_to_stderr.cc b/test/testsupport/trace_to_stderr.cc
deleted file mode 100644
index 5b75d1b..0000000
--- a/test/testsupport/trace_to_stderr.cc
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "test/testsupport/trace_to_stderr.h"
-
-#include <assert.h>
-#include <stdio.h>
-
-#include <string>
-
-namespace webrtc {
-namespace test {
-
-static const int kLevelFilter = kTraceError | kTraceWarning | kTraceTerseInfo;
-
-TraceToStderr::TraceToStderr()
- : override_time_(false),
- time_seconds_(0) {
- Trace::set_level_filter(kLevelFilter);
- Trace::CreateTrace();
- Trace::SetTraceCallback(this);
-}
-
-TraceToStderr::TraceToStderr(bool override_time)
- : override_time_(override_time),
- time_seconds_(0) {
- Trace::set_level_filter(kLevelFilter);
- Trace::CreateTrace();
- Trace::SetTraceCallback(this);
-}
-
-TraceToStderr::~TraceToStderr() {
- Trace::SetTraceCallback(NULL);
- Trace::ReturnTrace();
-}
-
-void TraceToStderr::SetTimeSeconds(float time) { time_seconds_ = time; }
-
-void TraceToStderr::Print(TraceLevel level, const char* msg_array, int length) {
- if (level & kLevelFilter) {
- assert(length > Trace::kBoilerplateLength);
- std::string msg = msg_array;
- std::string msg_log = msg.substr(Trace::kBoilerplateLength);
- if (override_time_) {
- fprintf(stderr, "%.2fs %s\n", time_seconds_, msg_log.c_str());
- } else {
- std::string msg_time = msg.substr(Trace::kTimestampPosition,
- Trace::kTimestampLength);
- fprintf(stderr, "%s %s\n", msg_time.c_str(), msg_log.c_str());
- }
- fflush(stderr);
- }
-}
-
-} // namespace test
-} // namespace webrtc
diff --git a/test/testsupport/trace_to_stderr.h b/test/testsupport/trace_to_stderr.h
deleted file mode 100644
index bb8a53a..0000000
--- a/test/testsupport/trace_to_stderr.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef TEST_TEST_SUPPORT_TRACE_TO_STDERR_H_
-#define TEST_TEST_SUPPORT_TRACE_TO_STDERR_H_
-
-#include "system_wrappers/include/trace.h"
-
-namespace webrtc {
-namespace test {
-
-// Upon constructing an instance of this class, all traces will be redirected
-// to stderr. At destruction, redirection is halted.
-class TraceToStderr : public TraceCallback {
- public:
- TraceToStderr();
- // Set |override_time| to true to control the time printed with each trace
- // through SetTimeSeconds(). Otherwise, the trace's usual wallclock time is
- // used.
- //
- // This is useful for offline test tools, where the file time is much more
- // informative than the real time.
- explicit TraceToStderr(bool override_time);
- ~TraceToStderr() override;
-
- // Every subsequent trace printout will use |time|. Has no effect if
- // |override_time| in the constructor was set to false.
- //
- // No attempt is made to ensure thread-safety between the trace writing and
- // time updating. In tests, since traces will normally be triggered by the
- // main thread doing the time updating, this should be of no concern.
- virtual void SetTimeSeconds(float time);
-
- // Implements TraceCallback.
- void Print(TraceLevel level, const char* msg_array, int length) override;
-
- private:
- bool override_time_;
- float time_seconds_;
-};
-
-} // namespace test
-} // namespace webrtc
-
-#endif // TEST_TEST_SUPPORT_TRACE_TO_STDERR_H_
diff --git a/video/video_quality_test.cc b/video/video_quality_test.cc
index 2526ac2..c68f038 100644
--- a/video/video_quality_test.cc
+++ b/video/video_quality_test.cc
@@ -1406,9 +1406,6 @@
void VideoQualityTest::SetupVideo(Transport* send_transport,
Transport* recv_transport) {
- if (params_.logging.logs)
- trace_to_stderr_.reset(new test::TraceToStderr);
-
size_t num_video_streams = params_.ss.streams.size();
size_t num_flexfec_streams = params_.video.flexfec ? 1 : 0;
CreateSendConfig(num_video_streams, 0, num_flexfec_streams, send_transport);
diff --git a/video/video_quality_test.h b/video/video_quality_test.h
index c16105c..e0b3dea 100644
--- a/video/video_quality_test.h
+++ b/video/video_quality_test.h
@@ -18,7 +18,6 @@
#include "media/engine/simulcast_encoder_adapter.h"
#include "test/call_test.h"
#include "test/frame_generator.h"
-#include "test/testsupport/trace_to_stderr.h"
namespace webrtc {
@@ -140,7 +139,6 @@
// We need a more general capturer than the FrameGeneratorCapturer.
std::unique_ptr<test::VideoCapturer> video_capturer_;
std::vector<std::unique_ptr<test::VideoCapturer>> thumbnail_capturers_;
- std::unique_ptr<test::TraceToStderr> trace_to_stderr_;
std::unique_ptr<test::FrameGenerator> frame_generator_;
std::unique_ptr<VideoEncoder> video_encoder_;
std::unique_ptr<cricket::WebRtcVideoEncoderFactory> vp8_encoder_factory_;
diff --git a/voice_engine/shared_data.cc b/voice_engine/shared_data.cc
index ac830c7..01e163b 100644
--- a/voice_engine/shared_data.cc
+++ b/voice_engine/shared_data.cc
@@ -11,7 +11,6 @@
#include "voice_engine/shared_data.h"
#include "modules/audio_processing/include/audio_processing.h"
-#include "system_wrappers/include/trace.h"
#include "voice_engine/channel.h"
#include "voice_engine/transmit_mixer.h"
@@ -27,8 +26,7 @@
_audioDevicePtr(NULL),
_moduleProcessThreadPtr(ProcessThread::Create("VoiceProcessThread")),
encoder_queue_("AudioEncoderQueue") {
- Trace::CreateTrace();
- if (TransmitMixer::Create(_transmitMixerPtr, _gInstanceCounter) == 0) {
+ if (TransmitMixer::Create(_transmitMixerPtr) == 0) {
_transmitMixerPtr->SetEngineInformation(&_channelManager);
}
}
@@ -40,7 +38,6 @@
_audioDevicePtr->Release();
}
_moduleProcessThreadPtr->Stop();
- Trace::ReturnTrace();
}
rtc::TaskQueue* SharedData::encoder_queue() {
diff --git a/voice_engine/transmit_mixer.cc b/voice_engine/transmit_mixer.cc
index 8fe1d25..c8e8200 100644
--- a/voice_engine/transmit_mixer.cc
+++ b/voice_engine/transmit_mixer.cc
@@ -17,7 +17,6 @@
#include "rtc_base/location.h"
#include "rtc_base/logging.h"
#include "system_wrappers/include/event_wrapper.h"
-#include "system_wrappers/include/trace.h"
#include "voice_engine/channel.h"
#include "voice_engine/channel_manager.h"
#include "voice_engine/utility.h"
@@ -28,16 +27,13 @@
// TODO(solenberg): The thread safety in this class is dubious.
int32_t
-TransmitMixer::Create(TransmitMixer*& mixer, uint32_t instanceId)
+TransmitMixer::Create(TransmitMixer*& mixer)
{
- WEBRTC_TRACE(kTraceMemory, kTraceVoice, VoEId(instanceId, -1),
- "TransmitMixer::Create(instanceId=%d)", instanceId);
- mixer = new TransmitMixer(instanceId);
+ mixer = new TransmitMixer();
if (mixer == NULL)
{
- WEBRTC_TRACE(kTraceMemory, kTraceVoice, VoEId(instanceId, -1),
- "TransmitMixer::Create() unable to allocate memory"
- "for mixer");
+ LOG(LS_ERROR) << "TransmitMixer::Create() unable to allocate memory "
+ "for mixer";
return -1;
}
return 0;
@@ -53,13 +49,6 @@
}
}
-TransmitMixer::TransmitMixer(uint32_t instanceId) :
- _instanceId(instanceId)
-{
- WEBRTC_TRACE(kTraceMemory, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::TransmitMixer() - ctor");
-}
-
TransmitMixer::~TransmitMixer() = default;
void TransmitMixer::SetEngineInformation(ChannelManager* channelManager) {
@@ -69,10 +58,6 @@
int32_t
TransmitMixer::SetAudioProcessingModule(AudioProcessing* audioProcessingModule)
{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::SetAudioProcessingModule("
- "audioProcessingModule=0x%x)",
- audioProcessingModule);
audioproc_ = audioProcessingModule;
return 0;
}
@@ -109,13 +94,6 @@
uint16_t currentMicLevel,
bool keyPressed)
{
- WEBRTC_TRACE(kTraceStream, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::PrepareDemux(nSamples=%" PRIuS ", "
- "nChannels=%" PRIuS ", samplesPerSec=%u, totalDelayMS=%u, "
- "clockDrift=%d, currentMicLevel=%u)",
- nSamples, nChannels, samplesPerSec, totalDelayMS, clockDrift,
- currentMicLevel);
-
// --- Resample input audio and create/store the initial audio frame
GenerateAudioFrame(static_cast<const int16_t*>(audioSamples),
nSamples,
@@ -160,8 +138,6 @@
int32_t
TransmitMixer::StopSend()
{
- WEBRTC_TRACE(kTraceInfo, kTraceVoice, VoEId(_instanceId, -1),
- "TransmitMixer::StopSend()");
_audioLevel.Clear();
return 0;
}
diff --git a/voice_engine/transmit_mixer.h b/voice_engine/transmit_mixer.h
index a983c3f..6cfe070 100644
--- a/voice_engine/transmit_mixer.h
+++ b/voice_engine/transmit_mixer.h
@@ -39,7 +39,7 @@
class TransmitMixer {
public:
- static int32_t Create(TransmitMixer*& mixer, uint32_t instanceId);
+ static int32_t Create(TransmitMixer*& mixer);
static void Destroy(TransmitMixer*& mixer);
@@ -90,8 +90,6 @@
TransmitMixer() = default;
private:
- TransmitMixer(uint32_t instanceId);
-
// Gets the maximum sample rate and number of channels over all currently
// sending codecs.
void GetSendCodecInfo(int* max_sample_rate, size_t* max_channels);
@@ -124,7 +122,6 @@
rtc::CriticalSection lock_;
bool typing_noise_detected_ RTC_GUARDED_BY(lock_) = false;
- int _instanceId = 0;
uint32_t _captureLevel = 0;
bool stereo_codec_ = false;
bool swap_stereo_channels_ = false;
diff --git a/voice_engine/voice_engine_impl.cc b/voice_engine/voice_engine_impl.cc
index 681f00e..cdd54da 100644
--- a/voice_engine/voice_engine_impl.cc
+++ b/voice_engine/voice_engine_impl.cc
@@ -16,7 +16,7 @@
#include "modules/audio_coding/include/audio_coding_module.h"
#include "rtc_base/checks.h"
-#include "system_wrappers/include/trace.h"
+#include "rtc_base/logging.h"
#include "voice_engine/channel_proxy.h"
#include "voice_engine/voice_engine_impl.h"
@@ -46,8 +46,7 @@
int new_ref = --_ref_count;
assert(new_ref >= 0);
if (new_ref == 0) {
- WEBRTC_TRACE(kTraceApiCall, kTraceVoice, -1,
- "VoiceEngineImpl self deleting (voiceEngine=0x%p)", this);
+ LOG_T_F(LS_INFO) << "VoiceEngineImpl self deleting";
// Clear any pointers before starting destruction. Otherwise worker-
// threads will still have pointers to a partially destructed object.
@@ -78,18 +77,8 @@
return false;
VoiceEngineImpl* s = static_cast<VoiceEngineImpl*>(voiceEngine);
- // Release the reference that was added in GetVoiceEngine.
- int ref = s->Release();
+ s->Release();
voiceEngine = NULL;
-
- if (ref != 0) {
- WEBRTC_TRACE(
- kTraceWarning, kTraceVoice, -1,
- "VoiceEngine::Delete did not release the very last reference. "
- "%d references remain.",
- ref);
- }
-
return true;
}
} // namespace webrtc