JetBrains / JetBrains/profiler-self-api

Timeline profiling is not supported under Linux

Open
#4 5 comments 1 reaction 0 assignees View on GitHub
Dominant language
C#
Stars
64
Forks
7
PR merge metrics
No merged PRs in 30d

Description

Even if I can run timeline profiling under linux just fine from command line (with both - start and attach), profiling self API says it is not supported.

I've cloned code repo, removed
```
if (Helper.Platform != PlatformId.Windows)
throw new InvalidOperationException("The Timeline profiling type is supported only on Windows platform");
```
and used compiled package instead of official one from releases, hoping that it is just leftover from previous versions, when it was actually not supported, but seems that it did not help:

```
JetBrains.Profiler.SelfApi Verbose: 1 : Prerequisite.TryGetRunner: `dottrace`
JetBrains.Profiler.SelfApi Verbose: 2 : Prerequisite.TryGetRunner: External path provided, looking at `/opt/dottrace/dottrace`
JetBrains.Profiler.SelfApi Verbose: 3 : Prerequisite[dotTrace].DownloadAsync: Runner found, no async task needed.
JetBrains.Profiler.SelfApi Verbose: 4 : DotTrace.RunConsole: Looking for runner...
JetBrains.Profiler.SelfApi Verbose: 5 : Prerequisite.TryGetRunner: `dottrace`
JetBrains.Profiler.SelfApi Verbose: 6 : Prerequisite.TryGetRunner: External path provided, looking at `/opt/dottrace/dottrace`
JetBrains.Profiler.SelfApi Information: 7 : DotTrace.RunConsole:
runner = `/opt/dottrace/dottrace`
arguments = `attach 1 --profiling-type=Timeline --service-input=stdin --service-output=On --collect-data-from-start=Off --use-api "--save-to=/tmp/traces"`
JetBrains.Profiler.SelfApi Verbose: 8 : DotTrace.RunConsole: Runner started.
JetBrains.Profiler.SelfApi Verbose: 9 : dotTrace command-line profiler 2021.3.2 build 777.0.20211221.134946. Copyright (C) 2021 JetBrains s.r.o.
JetBrains.Profiler.SelfApi Verbose: 10 : Profiling in progress...
JetBrains.Profiler.SelfApi Verbose: 11 : ##dotTrace["ready"]
JetBrains.Profiler.SelfApi Verbose: 12 : You can control profiling by sending command messages to stdin. For details, type ##dotTrace["help"]
JetBrains.Profiler.SelfApi Verbose: 13 : use_api == false [location] = /opt/buildAgent/work/6f2bec0cd9673e5e/EtwService/Native/Solution/event_pipe_timeline_profiler/src/netcore_profiler_brige_proto.hpp(48) [function] = virtual std::shared_ptr jb_prof::netcore::netcore_profiler_bridge_proto::create_prof(const jb_prof::timeline_info &, bool, const jb_prof::init_data &, std::unique_ptr &&) const
Unhandled exception. System.InvalidOperationException: Profiler.Api was not ready in given time. See details below.
*** Standard Error ***
use_api == false [location] = /opt/buildAgent/work/6f2bec0cd9673e5e/EtwService/Native/Solution/event_pipe_timeline_profiler/src/netcore_profiler_brige_proto.hpp(48) [function] = virtual std::shared_ptr jb_prof::netcore::netcore_profil
er_bridge_proto::create_prof(const jb_prof::timeline_info &, bool, const jb_prof::init_data &, std::unique_ptr &&) const

*** Standard Output ***
dotTrace command-line profiler 2021.3.2 build 777.0.20211221.134946. Copyright (C) 2021 JetBrains s.r.o.
Profiling in progress...
##dotTrace["ready"]
You can control profiling by sending command messages to stdin. For details, type ##dotTrace["help"]
at JetBrains.Profiler.SelfApi.Impl.ConsoleProfiler.BuildException(String caption) in C:\temp\profiler-self-api\src\Impl\ConsoleProfiler.cs:line 170
at JetBrains.Profiler.SelfApi.Impl.ConsoleProfiler.AwaitConnected(Int32 milliseconds) in C:\temp\profiler-self-api\src\Impl\ConsoleProfiler.cs:line 191
at JetBrains.Profiler.SelfApi.DotTrace.Session.AwaitConnected(Int32 milliseconds) in C:\temp\profiler-self-api\src\DotTrace.cs:line 540
at JetBrains.Profiler.SelfApi.DotTrace.Attach(Config config) in C:\temp\profiler-self-api\src\DotTrace.cs:line 206

```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.