question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

thread-instruction-count: tidelta / ticount don't exist in tracing file

See original GitHub issue

Environment 1 puppeteer-core: 2.0.0 docker image: node:12-slim os version: macOS 10.14.6 node.js version: 12 chrome version: 77/78

Environment 2 puppeteer-core: 2.0.0 virtualisation: virtualbox 6 os version: Ubuntu 18.04 node.js version: 12 chrome version: 77

What steps will reproduce the problem? According to this message. Puppeteer provides RTI data in trace file when flags: --enable-thread-instruction-count and --no-sandbox are used. Information should be placed in tidelta and ticount properties.

Case:

const puppeteer = require('puppeteer')

;(async () => {
  const browser = await puppeteer.launch({
    args: ['--no-sandbox', '--enable-thread-instruction-count'],
  })
  const page = await browser.newPage()

  await page.tracing.start({ path: './trace.json' })
  await page.goto('https://www.example.com/')
  await page.tracing.stop()

  await browser.close()
})()

Dockerfile Chrome-Detect&Downloader

What is the expected result? tidelta exist in trace.json and parameter not empty.

What happens instead? tidelta doesn’t exist in trace.json.

What a goal to use this feature? I want to use RTI data for Web Perf Testing in tools like size-limit, estimo, etc.

PS I tried this case with docker image node:10-slim, chrome 77 and chrome 78. But tidelta always didn’t exist in trace file.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:2
  • Comments:41

github_iconTop GitHub Comments

3reactions
mitermayercommented, May 22, 2020

I just noticed that I was comparing two different chrome versions:


  "os-version": "5.5.13-arch2-1",
  "product-version": "HeadlessChrome/80.0.3987.163",
  "v8-version": "8.0.426.30"

  "os-version": "5.5.13-arch2-1",
  "product-version": "HeadlessChrome/84.0.4147.13",
  "v8-version": "8.4.371.7"

Will update chrome and test again

2reactions
MurzNNcommented, Jun 9, 2020

When I manually launch chrome and enable tracing, I see in output

$ ./chrome --no-sandbox --enable-thread-instruction-count
[329820:329820:0609/065603.823454:ERROR:sandbox_linux.cc(369)] InitializeSandbox() called with multiple threads in process gpu-process.
[329820:329820:0609/065605.305150:ERROR:buffer_manager.cc(488)] [.DisplayCompositor]GL ERROR :GL_INVALID_OPERATION : glBufferData: <- error from previous GL command
tracing_service_impl.cc: Configured tracing, #sources:2, duration:0 ms, #buffers:1, total buffer size:102400 KB, total sessions:1
[329975:329977:0609/065638.525405:ERROR:thread_instruction_count.cc(65)] perf_event_open failed, omitting instruction counters
[329975:329975:0609/065638.524778:ERROR:thread_instruction_count.cc(65)] perf_event_open failed, omitting instruction counters
[329822:329856:0609/065638.528999:ERROR:thread_instruction_count.cc(65)] perf_event_open failed, omitting instruction counters
[329975:329978:0609/065638.528997:ERROR:thread_instruction_count.cc(65)] perf_event_open failed, omitting instruction counters
[329822:329853:0609/065638.529197:ERROR:thread_instruction_count.cc(65)] perf_event_open failed, omitting instruction counters
[329820:329847:0609/065638.535137:ERROR:thread_instruction_count.cc(65)] perf_event_open failed, omitting instruction counters
[329894:329894:0609/065638.535123:ERROR:thread_instruction_count.cc(65)] perf_event_open failed, omitting instruction counters

Seems perf_event_open failed is source of problem?

And magic command “allow kernel profiling for non-privileged users”, that I find here - seems help:

echo 1 | sudo tee /proc/sys/kernel/perf_event_paranoid

After enabling it - I see ticount in json results of your test file!

Read more comments on GitHub >

github_iconTop Results From Across the Web

image pyimage doesn't exist | The AI Search Engine You Control
PS I tried this case with docker image node:10-slim, chrome 77 and chrome 78. But tidelta always didn't exist in trace file. Open...
Read more >
JavaScript component-level CPU costs
You can tell by looking in the trace file for ticount or tidelta . Earlier versions don't have these in the traces. The...
Read more >
Tracing Gpu Memory Usage Using Puppeteer - ADocLib
GLTraceSim efficiently generates GPU memory access traces and their ... thread-instruction-count: tidelta / ticount don't exist in tracing file #5223.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found