Change default log location (#66)

* Change default log location

* Fix log directory name in wxs

* Fix missed Windows paths

* Update Config.wxi with OpenTelemetry data
This commit is contained in:
Dawid Szmigielski 2021-03-09 00:43:29 +01:00 committed by GitHub
parent 23aadf32ec
commit 0ef3d6b83d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 29 additions and 29 deletions

View File

@ -47,8 +47,8 @@ else
tar -xvzf linux.tar.gz -C ./release
Remove-Item linux.tar.gz
# Ensure the profiler can write the native log profiler
sudo mkdir -p /var/log/datadog/dotnet
sudo chmod -R 777 /var/log/datadog/dotnet
sudo mkdir -p /var/log/opentelemetry/dotnet
sudo chmod -R 777 /var/log/opentelemetry/dotnet
if ([string]::IsNullOrEmpty($otel_tracer_workingfolder)) {
$otel_tracer_home = "$(pwd)/release"

View File

@ -1,5 +1,5 @@
#!/bin/bash
set -euxo pipefail
mkdir -p /var/log/datadog/dotnet
chmod a+rwx /var/log/datadog/dotnet
mkdir -p /var/log/opentelemetry/dotnet
chmod a+rwx /var/log/opentelemetry/dotnet

View File

@ -3,8 +3,8 @@ set -euxo pipefail
cd "$( dirname "${BASH_SOURCE[0]}" )"/../../
mkdir -p /var/log/datadog/dotnet
touch /var/log/datadog/dotnet/dotnet-tracer-native.log
mkdir -p /var/log/opentelemetry/dotnet
touch /var/log/opentelemetry/dotnet/dotnet-tracer-native.log
dotnet vstest test/Datadog.Trace.IntegrationTests/bin/$buildConfiguration/$publishTargetFramework/publish/Datadog.Trace.IntegrationTests.dll --logger:trx --ResultsDirectory:test/Datadog.Trace.IntegrationTests/results
@ -19,4 +19,4 @@ wait-for-it mongo:27017 -- \
wait-for-it postgres:5432 -- \
dotnet vstest test/Datadog.Trace.ClrProfiler.IntegrationTests/bin/$buildConfiguration/$publishTargetFramework/publish/Datadog.Trace.ClrProfiler.IntegrationTests.dll --logger:trx --ResultsDirectory:test/Datadog.Trace.ClrProfiler.IntegrationTests/results
cp /var/log/datadog/dotnet/dotnet-tracer-native.log /project/
cp /var/log/opentelemetry/dotnet/dotnet-tracer-native.log /project/

View File

@ -67,8 +67,8 @@ ARG TRACER_HOME
COPY --from=build-managed ${WORKSPACE} ${WORKSPACE}
WORKDIR ${WORKSPACE}/src/Datadog.Trace.ClrProfiler.Native/build
RUN cmake .. && make && cp -f ./bin/Datadog.Trace.ClrProfiler.Native.so ${PUBLISH_FOLDER}/
RUN mkdir -p /var/log/datadog/dotnet
RUN touch /var/log/datadog/dotnet/dotnet-tracer-native.log
RUN mkdir -p /var/log/opentelemetry/dotnet
RUN touch /var/log/opentelemetry/dotnet/dotnet-tracer-native.log
WORKDIR ${PUBLISH_FOLDER}
RUN echo "#!/bin/bash\n set -euxo pipefail\n export CORECLR_ENABLE_PROFILING=\"1\"\n export CORECLR_PROFILER=\"{918728DD-259F-4A6A-AC2B-B85E1B658318}\"\n export OTEL_DOTNET_TRACER_HOME=\"${TRACER_HOME}\"\n export CORECLR_PROFILER_PATH=\"\${OTEL_DOTNET_TRACER_HOME}/Datadog.Trace.ClrProfiler.Native.so\"\n export OTEL_INTEGRATIONS=\"\${OTEL_DOTNET_TRACER_HOME}/integrations.json\"\n eval \"\$@\"\n" > dd-trace.bash
RUN chmod +x dd-trace.bash

View File

@ -6,7 +6,7 @@ namespace Datadog.Trace.ClrProfiler.Managed.Loader
{
internal static class StartupLogger
{
private const string NixDefaultDirectory = "/var/log/datadog/dotnet";
private const string NixDefaultDirectory = "/var/log/opentelemetry/dotnet";
private static readonly bool DebugEnabled = IsDebugEnabled();
private static readonly string LogDirectory = GetLogDirectory();
@ -77,7 +77,7 @@ namespace Datadog.Trace.ClrProfiler.Managed.Loader
{
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
var windowsDefaultDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), @"Datadog .NET Tracer", "logs");
var windowsDefaultDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), @"OpenTelemetry .NET AutoInstrumentation", "logs");
logDirectory = windowsDefaultDirectory;
}
else

View File

@ -15,11 +15,11 @@ const WSTRING debug_enabled = WStr("OTEL_TRACE_DEBUG");
// Sets the paths to integration definition JSON files.
// Supports multiple values separated with semi-colons, for example:
// "C:\Program Files\Datadog .NET Tracer\integrations.json;D:\temp\test_integrations.json"
// "C:\Program Files\OpenTelemetry .NET AutoInstrumentation\integrations.json;D:\temp\test_integrations.json"
const WSTRING integrations_path = WStr("OTEL_INTEGRATIONS");
// Sets the path to the profiler's home directory, for example:
// "C:\Program Files\Datadog .NET Tracer\" or "/opt/datadog/"
// "C:\Program Files\OpenTelemetry .NET AutoInstrumentation\" or "/opt/datadog/"
const WSTRING profiler_home_path = WStr("OTEL_DOTNET_TRACER_HOME");
// Sets the filename of executables the profiler can attach to.
@ -64,8 +64,8 @@ const WSTRING log_path = WStr("OTEL_TRACE_LOG_PATH");
// Sets the directory for the profiler's log file.
// If set, this setting takes precedence over environment variable OTEL_TRACE_LOG_PATH.
// If not set, default is
// "%ProgramData%"\Datadog .NET Tracer\logs\" on Windows or
// "/var/log/datadog/dotnet/" on Linux.
// "%ProgramData%"\OpenTelemetry .NET AutoInstrumentation\logs\" on Windows or
// "/var/log/opentelemetry/dotnet/" on Linux.
const WSTRING log_directory = WStr("OTEL_TRACE_LOG_DIRECTORY");
// Sets whether to disable all JIT optimizations.

View File

@ -56,9 +56,9 @@ inline WSTRING DatadogLogFilePath() {
}
return ToWSTRING(program_data +
R"(\Datadog .NET Tracer\logs\dotnet-tracer-native.log)");
R"(\OpenTelemetry .NET AutoInstrumentation\logs\dotnet-tracer-native.log)");
#else
return WStr("/var/log/datadog/dotnet/dotnet-tracer-native.log");
return WStr("/var/log/opentelemetry/dotnet/dotnet-tracer-native.log");
#endif
}

View File

@ -246,8 +246,8 @@ namespace Datadog.Trace.Configuration
/// <summary>
/// Configuration key for setting the directory of the .NET Tracer logs.
/// Overrides the value in <see cref="ProfilerLogPath"/> if present.
/// Default value is "%ProgramData%"\Datadog .NET Tracer\logs\" on Windows
/// or "/var/log/datadog/dotnet/" on Linux.
/// Default value is "%ProgramData%"\OpenTelemetry .NET AutoInstrumentation\logs\" on Windows
/// or "/var/log/opentelemetry/dotnet/" on Linux.
/// </summary>
public const string LogDirectory = "OTEL_TRACE_LOG_DIRECTORY";

View File

@ -181,16 +181,16 @@ namespace Datadog.Trace.Logging
if (logDirectory == null)
{
#if NETFRAMEWORK
logDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), @"Datadog .NET Tracer", "logs");
logDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), @"OpenTelemetry .NET AutoInstrumentation", "logs");
#else
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
logDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), @"Datadog .NET Tracer", "logs");
logDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), @"OpenTelemetry .NET AutoInstrumentation", "logs");
}
else
{
// Linux
logDirectory = "/var/log/datadog/dotnet";
logDirectory = "/var/log/opentelemetry/dotnet";
}
#endif
}

View File

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<Include>
<?define BaseProductName = ".NET Tracer" ?>
<?define ArpManufacturer = "Datadog, Inc." ?>
<?define BaseProductName = ".NET AutoInstrumentation" ?>
<?define ArpManufacturer = "OpenTelemetry" ?>
<?define Company = "Datadog" ?>
<?define ProductNamePlatformAgnostic = "Datadog $(var.BaseProductName)" ?>
<?define ProfilerCLSID = "{918728DD-259F-4A6A-AC2B-B85E1B658318}" ?>
<?if $(var.Platform) = x64 ?>
<?define ProductName = "Datadog $(var.BaseProductName) 64-bit" ?>
<?define ProductName = "OpenTelemetry $(var.BaseProductName) 64-bit" ?>
<?define Win64 = "yes" ?>
<?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
<?else ?>
<?define ProductName = "Datadog $(var.BaseProductName) 32-bit" ?>
<?define ProductName = "OpenTelemetry $(var.BaseProductName) 32-bit" ?>
<?define Win64 = "no" ?>
<?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
<?endif ?>

View File

@ -124,8 +124,8 @@
<Directory Id="CommonAppDataFolder">
<!-- "C:\ProgramData" -->
<Directory Id="CommonAppDataFolder.DatadogDotNetTracer" Name="Datadog .NET Tracer">
<!-- ".\Datadog .NET Tracer" -->
<Directory Id="CommonAppDataFolder.DatadogDotNetTracer" Name="OpenTelemetry .NET AutoInstrumentation">
<!-- ".\OpenTelemetry .NET AutoInstrumentation" -->
<Directory Id="CommonAppDataFolder.DatadogDotNetTracer.logs" Name="logs">
<!-- ".\logs" -->
</Directory>

View File

@ -1,7 +1,7 @@
FROM mcr.microsoft.com/dotnet/core/runtime:2.1-stretch-slim AS base
ARG TRACER_VERSION=1.24.0
RUN mkdir -p /opt/datadog
RUN mkdir -p /var/log/datadog/dotnet
RUN mkdir -p /var/log/opentelemetry/dotnet
RUN curl -L https://github.com/DataDog/dd-trace-dotnet/releases/download/v$TRACER_VERSION/datadog-dotnet-apm-$TRACER_VERSION.tar.gz | tar xzf - -C /opt/datadog
ENV CORECLR_ENABLE_PROFILING=1