//===--- Tracing.cpp - Support code for runtime tracing ------------*- C++ -*-//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2021 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
//
// Support code for tracing events in the Swift runtime
//
//===----------------------------------------------------------------------===//

#include "Tracing.h"

#if SWIFT_STDLIB_TRACING

#define SWIFT_LOG_SUBSYSTEM "com.apple.swift"
#define SWIFT_LOG_SECTION_SCAN_CATEGORY "SectionScan"

namespace swift {
namespace runtime {
namespace trace {

os_log_t ScanLog;
swift::once_t LogsToken;
bool TracingEnabled;

void setupLogs(void *unused) {
  if (!shouldEnableTracing()) {
    TracingEnabled = false;
    return;
  }

  TracingEnabled = true;
  ScanLog = os_log_create(SWIFT_LOG_SUBSYSTEM, SWIFT_LOG_SECTION_SCAN_CATEGORY);
}

} // namespace trace
} // namespace runtime
} // namespace swift

#endif
