Compare commits

..
11 Commits
Author SHA1 Message Date
Jamie Wong aa9bef5078 1.23.0
Node.js CI / test (18.x) (push) Has been cancelled
Node.js CI / test (20.x) (push) Has been cancelled
Node.js CI / finish (push) Has been cancelled
2025-07-06 20:04:25 -07:00
Ryan Moeller 31974da6e3 Add support for FreeBSD's pmcstat callgraph format (#502)
* Let tests run without bash

* Import pmcstat callgraph format

This eliminates the need for stackcollapse-pmc.pl and its dependency on
Perl to import FreeBSD callgraphs.  Tracing can be done completely with
tools included in the base system.  For example:

  ```
  # kldload hwpmc
  # pmcstat -S instructions -O sample.out sleep 1
  # pmcstat -R sample.out -G sample.pmcstat.graph
  ```
2025-03-18 10:08:10 -07:00
Jamie Wong 1c254dcb3e 1.22.2 2025-02-15 13:02:35 -08:00
Jamie Wong b17f7eeee8 1.22.1 2025-02-15 12:55:08 -08:00
Philipp A. 0e153f0a2c Update to working open, switch to ESM (#499) 2025-02-15 12:49:27 -08:00
Jamie Wong e3d57d5bb5 Revert "Fix broken CLI dependency open (#498)"
This reverts commit 60daa0e321.
2025-02-12 22:09:00 -08:00
Philipp A. 60daa0e321 Fix broken CLI dependency open (#498) 2025-02-12 13:13:25 -08:00
Daniel Kukula c5b01beec3 Update README.md (#496) 2025-01-23 12:27:16 -08:00
Jamie Wong bd7b44a0a7 1.22.0 2025-01-16 16:47:42 -08:00
Jamie Wong f181283861 Add an example trace with rust mangling 2025-01-16 16:47:11 -08:00
Corentin Kerisit dd989ea51c Add support for Rust v0 symbol mangling scheme (#491) 2025-01-16 11:46:58 -08:00
30 changed files with 1684 additions and 111 deletions
+6 -5
View File
@@ -15,18 +15,19 @@ jobs:
node-version: [18.x, 20.x]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: npm test
env:
CI: true
- name: Try CLI
run: node bin/cli.mjs -v
- name: Coveralls Parallel
uses: coverallsapp/github-action@master
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.github_token }}
flag-name: run-${{ matrix.node-version }}
@@ -37,7 +38,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@master
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.github_token }}
parallel-finished: true
+24
View File
@@ -1,3 +1,27 @@
## [1.23.0] - 2025-07-06
- Add support for FreeBSD's pmcstat callgraph format [[#502](https://github.com/jlfwong/speedscope/pull/502)] (by @ryan-moeller)
## [1.22.2] - 2025-02-15
- 1.22.1
- Update to working `open`, switch to ESM [[#499](https://github.com/jlfwong/speedscope/pull/499)] (by @flying-sheep)
- Revert "Fix broken CLI dependency `open`" [[#498](https://github.com/jlfwong/speedscope/pull/498)] (by @flying-sheep)
- Fix broken CLI dependency `open` [[#498](https://github.com/jlfwong/speedscope/pull/498)] (by @flying-sheep)
- Update README.md [[#496](https://github.com/jlfwong/speedscope/pull/496)] (by @dkuku)
## [1.22.1] - 2025-02-15
- Update to working `open`, switch to ESM [[#499](https://github.com/jlfwong/speedscope/pull/499)] (by @flying-sheep)
- Revert "Fix broken CLI dependency `open`" [[#498](https://github.com/jlfwong/speedscope/pull/498)] (by @flying-sheep)
- Fix broken CLI dependency `open` [[#498](https://github.com/jlfwong/speedscope/pull/498)] (by @flying-sheep)
- Update README.md [[#496](https://github.com/jlfwong/speedscope/pull/496)] (by @dkuku)
## [1.22.0] - 2025-01-16
- Add an example trace with rust mangling
- Add support for Rust v0 symbol mangling scheme [[#491](https://github.com/jlfwong/speedscope/pull/491)] (by @cerisier)
## [1.21.2] - 2025-01-15
- Switch from parcel to esbuild [[#432](https://github.com/jlfwong/speedscope/pull/432)] (by @jlfwong)
+2 -2
View File
@@ -21,10 +21,10 @@ cd /var/folders/l0/qtd9z14973s2tw81vmzwkyp00000gp/T/speedscope-test-installation
Run this command, to switch to the test directory.
Inside of here, run `bin/cli.js`. This should open a copy of speedscope in browser.
Inside of here, run `bin/cli.mjs`. This should open a copy of speedscope in browser.
Try importing a profile from disk via the browse button and make sure it works.
Next, try running `bin/cli.js dist/release/perf-vertx*`. This should immediately open
Next, try running `bin/cli.mjs dist/release/perf-vertx*`. This should immediately open
speedscope in browser, and the perf-vertx file should load immediately.
## Create & publish the new release
+2
View File
@@ -37,6 +37,8 @@ speedscope is designed to ingest profiles from a variety of different profilers
- Java
- [Importing from asyncprofiler (Java)
](https://github.com/jlfwong/speedscope/wiki/Importing-from-async%E2%80%90profiler-(Java))
- Erlang/Elixir
- [eflambe](https://github.com/Stratus3D/eflambe)
- Native code
- [Importing from Instruments.app](https://github.com/jlfwong/speedscope/wiki/Importing-from-Instruments.app) (macOS)
- [Importing from `perf`](https://github.com/jlfwong/speedscope/wiki/Importing-from-perf-(linux)) (linux)
+19 -11
View File
@@ -1,10 +1,14 @@
#!/usr/bin/env node
const path = require('path')
const fs = require('fs')
const os = require('os')
const stream = require('stream')
import path from 'node:path'
import fs from 'node:fs'
import os from 'node:os'
import stream from 'node:stream'
import { fileURLToPath } from 'node:url'
const open = require('open')
import open from 'open'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const helpString = `Usage: speedscope [filepath]
@@ -52,7 +56,9 @@ async function main() {
}
if (process.argv.includes('--version') || process.argv.includes('-v')) {
console.log('v' + require('../package.json').version)
const json = fs.readFileSync(path.resolve(__dirname, '../package.json'), { encoding: 'utf-8' })
const { version } = JSON.parse(json)
console.log(`v${version}`)
return
}
@@ -87,14 +93,16 @@ async function main() {
fs.writeFileSync(jsPath, jsSource)
urlToOpen += `#localProfilePath=${jsPath}`
// For some silly reason, the OS X open command ignores any query parameters or hash parameters
// For some silly reason, the macOS `open` and Windows `start` commands ignore hash parameters
// passed as part of the URL. To get around this weird issue, we'll create a local HTML file
// that just redirects.
const htmlPath = path.join(os.tmpdir(), `${filePrefix}.html`)
console.log(`Creating temp file ${htmlPath}`)
fs.writeFileSync(htmlPath, `<script>window.location=${JSON.stringify(urlToOpen)}</script>`)
if (process.platform === 'darwin' || process.platform === 'win32') {
const htmlPath = path.join(os.tmpdir(), `${filePrefix}.html`)
console.log(`Creating temp file ${htmlPath}`)
fs.writeFileSync(htmlPath, `<script>window.location=${JSON.stringify(urlToOpen)}</script>`)
urlToOpen = `file://${htmlPath}`
urlToOpen = `file://${htmlPath}`
}
}
console.log('Opening', urlToOpen, 'in your default browser')
+124 -34
View File
@@ -1,18 +1,18 @@
{
"name": "speedscope",
"version": "1.21.2",
"version": "1.23.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "speedscope",
"version": "1.21.2",
"version": "1.23.0",
"license": "MIT",
"dependencies": {
"open": "7.2.0"
"open": "10.1.0"
},
"bin": {
"speedscope": "bin/cli.js"
"speedscope": "bin/cli.mjs"
},
"devDependencies": {
"@types/jest": "22.2.3",
@@ -3617,7 +3617,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
"integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
"dev": true,
"engines": {
"node": ">=12"
},
@@ -6119,6 +6118,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz",
"integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==",
"dev": true,
"bin": {
"is-docker": "cli.js"
},
@@ -6178,7 +6178,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
"integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
"dev": true,
"dependencies": {
"is-docker": "^3.0.0"
},
@@ -6196,7 +6195,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
"integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
"dev": true,
"bin": {
"is-docker": "cli.js"
},
@@ -7937,26 +7935,91 @@
}
},
"node_modules/open": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/open/-/open-7.2.0.tgz",
"integrity": "sha512-4HeyhxCvBTI5uBePsAdi55C5fmqnWZ2e2MlmvWi5KW5tdH5rxoiv/aMtbeVxKZc3eWkT1GymMnLG8XC4Rq4TDQ==",
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz",
"integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==",
"license": "MIT",
"dependencies": {
"is-docker": "^2.0.0",
"is-wsl": "^2.1.1"
"default-browser": "^5.2.1",
"define-lazy-prop": "^3.0.0",
"is-inside-container": "^1.0.0",
"is-wsl": "^3.1.0"
},
"engines": {
"node": ">=8"
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/open/node_modules/bundle-name": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
"integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
"license": "MIT",
"dependencies": {
"run-applescript": "^7.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/open/node_modules/default-browser": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz",
"integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==",
"license": "MIT",
"dependencies": {
"bundle-name": "^4.1.0",
"default-browser-id": "^5.0.0"
},
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/open/node_modules/default-browser-id": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz",
"integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==",
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/open/node_modules/is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
"integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
"license": "MIT",
"dependencies": {
"is-docker": "^2.0.0"
"is-inside-container": "^1.0.0"
},
"engines": {
"node": ">=8"
"node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/open/node_modules/run-applescript": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz",
"integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==",
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/optionator": {
@@ -13519,8 +13582,7 @@
"define-lazy-prop": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
"integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
"dev": true
"integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="
},
"define-properties": {
"version": "1.1.2",
@@ -15516,7 +15578,8 @@
"is-docker": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz",
"integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw=="
"integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==",
"dev": true
},
"is-extendable": {
"version": "0.1.1",
@@ -15555,7 +15618,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
"integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
"dev": true,
"requires": {
"is-docker": "^3.0.0"
},
@@ -15563,8 +15625,7 @@
"is-docker": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
"integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
"dev": true
"integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="
}
}
},
@@ -17024,21 +17085,50 @@
}
},
"open": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/open/-/open-7.2.0.tgz",
"integrity": "sha512-4HeyhxCvBTI5uBePsAdi55C5fmqnWZ2e2MlmvWi5KW5tdH5rxoiv/aMtbeVxKZc3eWkT1GymMnLG8XC4Rq4TDQ==",
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz",
"integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==",
"requires": {
"is-docker": "^2.0.0",
"is-wsl": "^2.1.1"
"default-browser": "^5.2.1",
"define-lazy-prop": "^3.0.0",
"is-inside-container": "^1.0.0",
"is-wsl": "^3.1.0"
},
"dependencies": {
"is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"bundle-name": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
"integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
"requires": {
"is-docker": "^2.0.0"
"run-applescript": "^7.0.0"
}
},
"default-browser": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz",
"integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==",
"requires": {
"bundle-name": "^4.1.0",
"default-browser-id": "^5.0.0"
}
},
"default-browser-id": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz",
"integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA=="
},
"is-wsl": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
"integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
"requires": {
"is-inside-container": "^1.0.0"
}
},
"run-applescript": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz",
"integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A=="
}
}
},
+4 -4
View File
@@ -1,11 +1,11 @@
{
"name": "speedscope",
"version": "1.21.2",
"version": "1.23.0",
"description": "",
"repository": "jlfwong/speedscope",
"main": "index.js",
"bin": {
"speedscope": "./bin/cli.js"
"speedscope": "./bin/cli.mjs"
},
"scripts": {
"deploy": "./scripts/deploy.sh",
@@ -19,7 +19,7 @@
"serve": "tsx scripts/dev-server.ts"
},
"files": [
"bin/cli.js",
"bin/cli.mjs",
"dist/release/**",
"!*.map"
],
@@ -78,6 +78,6 @@
]
},
"dependencies": {
"open": "7.2.0"
"open": "10.1.0"
}
}
@@ -0,0 +1,580 @@
trace 6061 150520.991529: 16949152 task-clock:ppp:
aaaac1479980 _RINvNtCslw2YnFSxGUT_10ppv_lite867generic5dmap2NtB2_13u32x4_genericNCNvXsy_B2_BI_NtNtNtCsTACXlTRjQ_4core3ops5arith3Add3add0ECs2zQ9tAH61OF_11rand_chacha+0x144 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.008480: 16949152 task-clock:ppp:
aaaac147a5b4 _RNvXs1_NtCsTACXlTRjQ_4core7convertNtNtCslw2YnFSxGUT_10ppv_lite867generic13u32x4_genericINtB5_4IntoNtBy_14vec128_storageE4intoCs2zQ9tAH61OF_11rand_chacha+0x4 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac14737e7 _RNvXsl_NtCs2zQ9tAH61OF_11rand_chacha6chachaNtB5_12ChaCha12CoreNtNtCseBIf0Yfsj9G_9rand_core5block12BlockRngCore8generateCsiznFMVuT3yX_4rand+0x6463 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.025430: 16949152 task-clock:ppp:
aaaac147a5b4 _RNvXs1_NtCsTACXlTRjQ_4core7convertNtNtCslw2YnFSxGUT_10ppv_lite867generic13u32x4_genericINtB5_4IntoNtBy_14vec128_storageE4intoCs2zQ9tAH61OF_11rand_chacha+0x4 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1475c23 _RNvXsl_NtCs2zQ9tAH61OF_11rand_chacha6chachaNtB5_12ChaCha12CoreNtNtCseBIf0Yfsj9G_9rand_core5block12BlockRngCore8generateCsiznFMVuT3yX_4rand+0x889f (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.042380: 16949152 task-clock:ppp:
aaaac146a13c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0xf8 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.059329: 16949152 task-clock:ppp:
aaaac1469fa8 _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw14from_raw_parts18precondition_checkCs8K9WJNlS7Dz_5trace+0xcc (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.076276: 16949152 task-clock:ppp:
aaaac146b198 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.093223: 16949152 task-clock:ppp:
aaaac146b198 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.110172: 16949152 task-clock:ppp:
aaaac1469f2c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw14from_raw_parts18precondition_checkCs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.127121: 16949152 task-clock:ppp:
aaaac146b25c _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x80 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.144070: 16949152 task-clock:ppp:
aaaac146b25c _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x80 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.161018: 16949152 task-clock:ppp:
aaaac1469494 _RNvCs8K9WJNlS7Dz_5trace17multiply_matrices+0x2d4 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.177971: 16949152 task-clock:ppp:
aaaac1468014 _RNvXs0_NtNtCsTACXlTRjQ_4core5slice5indexjINtB5_10SliceIndexSINtNtCsfiKabdrepoq_5alloc3vec3VecdEE5indexCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.194918: 16949152 task-clock:ppp:
aaaac1469f2c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw14from_raw_parts18precondition_checkCs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.211872: 16949152 task-clock:ppp:
aaaac14680d4 _RNvXs0_NtNtCsTACXlTRjQ_4core5slice5indexjINtB5_10SliceIndexSdE5indexCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.228819: 16949152 task-clock:ppp:
aaaac146a14c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0x108 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.245765: 16949152 task-clock:ppp:
aaaac146a1c8 _RNvNvMs9_NtCsTACXlTRjQ_4core3numj13unchecked_add18precondition_checkCs8K9WJNlS7Dz_5trace+0x1c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.262716: 16949152 task-clock:ppp:
aaaac1469494 _RNvCs8K9WJNlS7Dz_5trace17multiply_matrices+0x2d4 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.279663: 16949152 task-clock:ppp:
aaaac146b2c4 _RNvXsc_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index8IndexMutjE9index_mutCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.296613: 16949152 task-clock:ppp:
aaaac146b35c _RNvXsc_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index8IndexMutjE9index_mutCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.313561: 16949152 task-clock:ppp:
aaaac146b198 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.330511: 16949152 task-clock:ppp:
aaaac146b170 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x2c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.347462: 16949152 task-clock:ppp:
aaaac146b35c _RNvXsc_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index8IndexMutjE9index_mutCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.364409: 16949152 task-clock:ppp:
aaaac146a14c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0x108 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.381358: 16949152 task-clock:ppp:
aaaac146b264 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x88 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.398307: 16949152 task-clock:ppp:
aaaac146b198 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.415256: 16949152 task-clock:ppp:
aaaac146b2c8 _RNvXsc_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index8IndexMutjE9index_mutCs8K9WJNlS7Dz_5trace+0x58 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.432207: 16949152 task-clock:ppp:
aaaac1469468 _RNvCs8K9WJNlS7Dz_5trace17multiply_matrices+0x2a8 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.449154: 16949152 task-clock:ppp:
aaaac146b388 _RNvXsc_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index8IndexMutjE9index_mutCs8K9WJNlS7Dz_5trace+0x80 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.466104: 16949152 task-clock:ppp:
aaaac1468b54 _RNvXsF_NtNtCsTACXlTRjQ_4core4iter5rangejNtB5_4Step17forward_uncheckedCs8K9WJNlS7Dz_5trace+0x38 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.483053: 16949152 task-clock:ppp:
aaaac146b198 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.500005: 16949152 task-clock:ppp:
aaaac14798b4 _RINvNtCslw2YnFSxGUT_10ppv_lite867generic5dmap2NtB2_13u32x4_genericNCNvXsy_B2_BI_NtNtNtCsTACXlTRjQ_4core3ops5arith3Add3add0ECs2zQ9tAH61OF_11rand_chacha+0x78 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.516952: 16949152 task-clock:ppp:
aaaac147823c _RNCNkNvNtNtCsiznFMVuT3yX_4rand4rngs6thread14THREAD_RNG_KEY00B9_+0x24 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.533903: 16949152 task-clock:ppp:
aaaac146f758 _RNvXsl_NtCs2zQ9tAH61OF_11rand_chacha6chachaNtB5_12ChaCha12CoreNtNtCseBIf0Yfsj9G_9rand_core5block12BlockRngCore8generateCsiznFMVuT3yX_4rand+0x23d4 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.550852: 16949152 task-clock:ppp:
aaaac146a18c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0x148 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.567799: 16949152 task-clock:ppp:
aaaac14683b4 _RNvXs3_NtNtCsTACXlTRjQ_4core4iter5rangeINtNtNtB9_3ops5range5RangejENtB5_17RangeIteratorImpl9spec_nextCs8K9WJNlS7Dz_5trace+0x28 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.584753: 16949152 task-clock:ppp:
aaaac146b230 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.601700: 16949152 task-clock:ppp:
aaaac146b230 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.618648: 16949152 task-clock:ppp:
aaaac1468430 _RNvXs4_NtNtCsTACXlTRjQ_4core4iter5rangeINtNtNtB9_3ops5range5RangejENtNtNtB7_6traits8iterator8Iterator4nextCs8K9WJNlS7Dz_5trace+0x14 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.635610: 16949152 task-clock:ppp:
aaaac146b230 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.652560: 16949152 task-clock:ppp:
aaaac146b198 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.669508: 16949152 task-clock:ppp:
aaaac146b198 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.686460: 16949152 task-clock:ppp:
aaaac146b230 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.703442: 16949152 task-clock:ppp:
aaaac1468014 _RNvXs0_NtNtCsTACXlTRjQ_4core5slice5indexjINtB5_10SliceIndexSINtNtCsfiKabdrepoq_5alloc3vec3VecdEE5indexCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.720393: 16949152 task-clock:ppp:
aaaac146b230 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.737340: 16949152 task-clock:ppp:
aaaac146b208 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x2c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.754289: 16949152 task-clock:ppp:
aaaac1469f2c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw14from_raw_parts18precondition_checkCs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.771239: 16949152 task-clock:ppp:
aaaac146a14c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0x108 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.788187: 16949152 task-clock:ppp:
aaaac14683ac _RNvXs3_NtNtCsTACXlTRjQ_4core4iter5rangeINtNtNtB9_3ops5range5RangejENtB5_17RangeIteratorImpl9spec_nextCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.805136: 16949152 task-clock:ppp:
aaaac1468148 _RNvXs0_NtNtCsTACXlTRjQ_4core5slice5indexjINtB5_10SliceIndexSdE9index_mutCs8K9WJNlS7Dz_5trace+0x3c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.822085: 16949152 task-clock:ppp:
aaaac1468b3c _RNvXsF_NtNtCsTACXlTRjQ_4core4iter5rangejNtB5_4Step17forward_uncheckedCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.839034: 16949152 task-clock:ppp:
aaaac146b230 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.855986: 16949152 task-clock:ppp:
aaaac1468074 _RNvXs0_NtNtCsTACXlTRjQ_4core5slice5indexjINtB5_10SliceIndexSINtNtCsfiKabdrepoq_5alloc3vec3VecdEE9index_mutCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.872936: 16949152 task-clock:ppp:
aaaac146b1c8 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x84 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.889885: 16949152 task-clock:ppp:
aaaac1469468 _RNvCs8K9WJNlS7Dz_5trace17multiply_matrices+0x2a8 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.906831: 16949152 task-clock:ppp:
aaaac146a1c8 _RNvNvMs9_NtCsTACXlTRjQ_4core3numj13unchecked_add18precondition_checkCs8K9WJNlS7Dz_5trace+0x1c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.923780: 16949152 task-clock:ppp:
aaaac146b35c _RNvXsc_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index8IndexMutjE9index_mutCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.940732: 16949152 task-clock:ppp:
aaaac146b230 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.957678: 16949152 task-clock:ppp:
aaaac146b35c _RNvXsc_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index8IndexMutjE9index_mutCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.974631: 16949152 task-clock:ppp:
aaaac1469f2c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw14from_raw_parts18precondition_checkCs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150521.991577: 16949152 task-clock:ppp:
aaaac146a064 _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.008526: 16949152 task-clock:ppp:
aaaac146b208 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x2c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.025476: 16949152 task-clock:ppp:
aaaac1479cb4 _RNCNvXs1o_NtCslw2YnFSxGUT_10ppv_lite867genericNtB8_13u32x4_genericNtNtNtCsTACXlTRjQ_4core3ops3bit6BitXor6bitxor0Cs2zQ9tAH61OF_11rand_chacha+0x1c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1474db7 _RNvXsl_NtCs2zQ9tAH61OF_11rand_chacha6chachaNtB5_12ChaCha12CoreNtNtCseBIf0Yfsj9G_9rand_core5block12BlockRngCore8generateCsiznFMVuT3yX_4rand+0x7a33 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.042426: 16949152 task-clock:ppp:
aaaac147b12c _RNvXsB_NtNtCsTACXlTRjQ_4core4iter5rangemNtB5_4Step17forward_uncheckedCs2zQ9tAH61OF_11rand_chacha+0x28 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.059376: 16949152 task-clock:ppp:
aaaac146eb1c _RNvXsl_NtCs2zQ9tAH61OF_11rand_chacha6chachaNtB5_12ChaCha12CoreNtNtCseBIf0Yfsj9G_9rand_core5block12BlockRngCore8generateCsiznFMVuT3yX_4rand+0x1798 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.076324: 16949152 task-clock:ppp:
aaaac146a1c8 _RNvNvMs9_NtCsTACXlTRjQ_4core3numj13unchecked_add18precondition_checkCs8K9WJNlS7Dz_5trace+0x1c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.093274: 16949152 task-clock:ppp:
aaaac1469f44 _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw14from_raw_parts18precondition_checkCs8K9WJNlS7Dz_5trace+0x68 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.110224: 16949152 task-clock:ppp:
aaaac1468b3c _RNvXsF_NtNtCsTACXlTRjQ_4core4iter5rangejNtB5_4Step17forward_uncheckedCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.127170: 16949152 task-clock:ppp:
aaaac146a064 _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.144122: 16949152 task-clock:ppp:
aaaac1469fbc _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw14from_raw_parts18precondition_checkCs8K9WJNlS7Dz_5trace+0xe0 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.161068: 16949152 task-clock:ppp:
aaaac146b230 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.178016: 16949152 task-clock:ppp:
aaaac146944c _RNvCs8K9WJNlS7Dz_5trace17multiply_matrices+0x28c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.194967: 16949152 task-clock:ppp:
aaaac1468b3c _RNvXsF_NtNtCsTACXlTRjQ_4core4iter5rangejNtB5_4Step17forward_uncheckedCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.211916: 16949152 task-clock:ppp:
aaaac1469f1c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw14from_raw_parts18precondition_checkCs8K9WJNlS7Dz_5trace+0x40 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.228865: 16949152 task-clock:ppp:
aaaac146a13c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0xf8 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.245814: 16949152 task-clock:ppp:
aaaac1468098 _RNvXs0_NtNtCsTACXlTRjQ_4core5slice5indexjINtB5_10SliceIndexSINtNtCsfiKabdrepoq_5alloc3vec3VecdEE9index_mutCs8K9WJNlS7Dz_5trace+0x44 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.262763: 16949152 task-clock:ppp:
aaaac1469f40 _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw14from_raw_parts18precondition_checkCs8K9WJNlS7Dz_5trace+0x64 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.279716: 16949152 task-clock:ppp:
aaaac146a13c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0xf8 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.296663: 16949152 task-clock:ppp:
aaaac146b264 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x88 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.313611: 16949152 task-clock:ppp:
aaaac146a0a8 _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0x64 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.330560: 16949152 task-clock:ppp:
aaaac146b230 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.347509: 16949152 task-clock:ppp:
aaaac146a18c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0x148 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.364458: 16949152 task-clock:ppp:
aaaac14693c8 _RNvCs8K9WJNlS7Dz_5trace17multiply_matrices+0x208 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.381407: 16949152 task-clock:ppp:
aaaac146b388 _RNvXsc_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecdEINtNtNtCsTACXlTRjQ_4core3ops5index8IndexMutjE9index_mutCs8K9WJNlS7Dz_5trace+0x80 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.398356: 16949152 task-clock:ppp:
aaaac1468b3c _RNvXsF_NtNtCsTACXlTRjQ_4core4iter5rangejNtB5_4Step17forward_uncheckedCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.415306: 16949152 task-clock:ppp:
aaaac1468128 _RNvXs0_NtNtCsTACXlTRjQ_4core5slice5indexjINtB5_10SliceIndexSdE9index_mutCs8K9WJNlS7Dz_5trace+0x1c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.432255: 16949152 task-clock:ppp:
aaaac146b180 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x3c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.449204: 16949152 task-clock:ppp:
aaaac146b198 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x54 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.466153: 16949152 task-clock:ppp:
aaaac146b1d0 _RNvXsb_NtCsfiKabdrepoq_5alloc3vecINtB5_3VecIBw_dEEINtNtNtCsTACXlTRjQ_4core3ops5index5IndexjE5indexCs8K9WJNlS7Dz_5trace+0x8c (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.483102: 16949152 task-clock:ppp:
aaaac146a094 _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.500051: 16949152 task-clock:ppp:
aaaac14680d4 _RNvXs0_NtNtCsTACXlTRjQ_4core5slice5indexjINtB5_10SliceIndexSdE5indexCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.517003: 16949152 task-clock:ppp:
aaaac14680d4 _RNvXs0_NtNtCsTACXlTRjQ_4core5slice5indexjINtB5_10SliceIndexSdE5indexCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.533950: 16949152 task-clock:ppp:
aaaac14799b4 _RINvNtCslw2YnFSxGUT_10ppv_lite867generic5dmap2NtB2_13u32x4_genericNCNvXsy_B2_BI_NtNtNtCsTACXlTRjQ_4core3ops5arith3Add3add0ECs2zQ9tAH61OF_11rand_chacha+0x178 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.550901: 16949152 task-clock:ppp:
aaaac1479d54 _RNCNvXsj_NtCslw2YnFSxGUT_10ppv_lite867genericNtB7_13u32x4_genericNtNtB9_5types16RotateEachWord3224rotate_each_word_right160Cs2zQ9tAH61OF_11rand_chacha+0x24 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac146e9d3 _RNvXsl_NtCs2zQ9tAH61OF_11rand_chacha6chachaNtB5_12ChaCha12CoreNtNtCseBIf0Yfsj9G_9rand_core5block12BlockRngCore8generateCsiznFMVuT3yX_4rand+0x164f (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.567849: 16949152 task-clock:ppp:
aaaac1470a1c _RNvXsl_NtCs2zQ9tAH61OF_11rand_chacha6chachaNtB5_12ChaCha12CoreNtNtCseBIf0Yfsj9G_9rand_core5block12BlockRngCore8generateCsiznFMVuT3yX_4rand+0x3698 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.584797: 16949152 task-clock:ppp:
aaaac1468014 _RNvXs0_NtNtCsTACXlTRjQ_4core5slice5indexjINtB5_10SliceIndexSINtNtCsfiKabdrepoq_5alloc3vec3VecdEE5indexCs8K9WJNlS7Dz_5trace+0x20 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
trace 6061 150522.601749: 16949152 task-clock:ppp:
aaaac146a14c _RNvNvNtNtCsTACXlTRjQ_4core5slice3raw18from_raw_parts_mut18precondition_checkCs8K9WJNlS7Dz_5trace+0x108 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
aaaac1469a1c _RINvNtCse0yjq9ZQveU_3std2rt10lang_startuECs8K9WJNlS7Dz_5trace+0x50 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
ffff804d8598 __libc_start_main+0x98 (/usr/lib/aarch64-linux-gnu/libc.so.6)
aaaac1467b30 _start+0x30 (/trace/target/debug/deps/trace-0f0e4af093fa4f97)
@@ -0,0 +1,38 @@
@ inst_retired.any [35705 samples]
# comment ok
// ignored
20.86% [7447] zfs_lz4_compress @ /boot/kernel/zfs.ko
100.0% [7447] zio_compress_data
100.0% [7447] zio_write_compress
100.0% [7447] zio_execute
100.0% [7447] taskqueue_run_locked @ /boot/kernel/kernel
100.0% [7447] taskqueue_thread_loop
100.0% [7447] fork_exit
14.44% [5156] fletcher_2_native @ /boot/kernel/zfs.ko
50.62% [2610] arc_cksum_verify
66.02% [1723] arc_buf_thaw
86.48% [1490] dmu_buf_will_dirty_impl
99.93% [1489] dmu_write_uio_dnode
100.0% [1489] zfs_write
100.0% [1489] zfs_freebsd_write
100.0% [1489] VOP_WRITE_APV @ /boot/kernel/kernel
100.0% [1489] vn_write
100.0% [1489] vn_io_fault_doio
100.0% [1489] vn_io_fault1
100.0% [1489] vn_io_fault
100.0% [1489] dofilewrite
100.0% [1489] kern_pwritev
100.0% [1489] sys_pwrite
100.0% [1489] amd64_syscall
00.07% [1] dmu_write_impl @ /boot/kernel/zfs.ko
100.0% [1] dmu_write
100.0% [1] metaslab_set_unflushed_txg
100.0% [1] metaslab_unflushed_bump
100.0% [1] spa_flush_metaslabs
100.0% [1] spa_sync
100.0% [1] txg_sync_thread
100.0% [1] fork_exit @ /boot/kernel/kernel
invalid line
+34
View File
@@ -0,0 +1,34 @@
@ inst_retired.any [35705 samples]
20.86% [7447] zfs_lz4_compress @ /boot/kernel/zfs.ko
100.0% [7447] zio_compress_data
100.0% [7447] zio_write_compress
100.0% [7447] zio_execute
100.0% [7447] taskqueue_run_locked @ /boot/kernel/kernel
100.0% [7447] taskqueue_thread_loop
100.0% [7447] fork_exit
14.44% [5156] fletcher_2_native @ /boot/kernel/zfs.ko
50.62% [2610] arc_cksum_verify
66.02% [1723] arc_buf_thaw
86.48% [1490] dmu_buf_will_dirty_impl
99.93% [1489] dmu_write_uio_dnode
100.0% [1489] zfs_write
100.0% [1489] zfs_freebsd_write
100.0% [1489] VOP_WRITE_APV @ /boot/kernel/kernel
100.0% [1489] vn_write
100.0% [1489] vn_io_fault_doio
100.0% [1489] vn_io_fault1
100.0% [1489] vn_io_fault
100.0% [1489] dofilewrite
100.0% [1489] kern_pwritev
100.0% [1489] sys_pwrite
100.0% [1489] amd64_syscall
00.07% [1] dmu_write_impl @ /boot/kernel/zfs.ko
100.0% [1] dmu_write
100.0% [1] metaslab_set_unflushed_txg
100.0% [1] metaslab_unflushed_bump
100.0% [1] spa_flush_metaslabs
100.0% [1] spa_sync
100.0% [1] txg_sync_thread
100.0% [1] fork_exit @ /boot/kernel/kernel
+1 -1
View File
@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/sh
set -e
for f in `find sample/profiles -name '*.zip' | grep -v Instruments`; do
@@ -0,0 +1,575 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`importFromPMCStatCallGraph 1`] = `
Object {
"frames": Array [
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "fork_exit",
"line": undefined,
"name": "fork_exit",
"selfWeight": 0,
"totalWeight": 7448,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "taskqueue_thread_loop",
"line": undefined,
"name": "taskqueue_thread_loop",
"selfWeight": 0,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "taskqueue_run_locked",
"line": undefined,
"name": "taskqueue_run_locked",
"selfWeight": 0,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zio_execute",
"line": undefined,
"name": "zio_execute",
"selfWeight": 0,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zio_write_compress",
"line": undefined,
"name": "zio_write_compress",
"selfWeight": 0,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zio_compress_data",
"line": undefined,
"name": "zio_compress_data",
"selfWeight": 0,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zfs_lz4_compress",
"line": undefined,
"name": "zfs_lz4_compress",
"selfWeight": 7447,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "amd64_syscall",
"line": undefined,
"name": "amd64_syscall",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "sys_pwrite",
"line": undefined,
"name": "sys_pwrite",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "kern_pwritev",
"line": undefined,
"name": "kern_pwritev",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "dofilewrite",
"line": undefined,
"name": "dofilewrite",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "vn_io_fault",
"line": undefined,
"name": "vn_io_fault",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "vn_io_fault1",
"line": undefined,
"name": "vn_io_fault1",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "vn_io_fault_doio",
"line": undefined,
"name": "vn_io_fault_doio",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "vn_write",
"line": undefined,
"name": "vn_write",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "VOP_WRITE_APV",
"line": undefined,
"name": "VOP_WRITE_APV",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zfs_freebsd_write",
"line": undefined,
"name": "zfs_freebsd_write",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zfs_write",
"line": undefined,
"name": "zfs_write",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "dmu_write_uio_dnode",
"line": undefined,
"name": "dmu_write_uio_dnode",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "dmu_buf_will_dirty_impl",
"line": undefined,
"name": "dmu_buf_will_dirty_impl",
"selfWeight": 0,
"totalWeight": 1490,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "arc_buf_thaw",
"line": undefined,
"name": "arc_buf_thaw",
"selfWeight": 0,
"totalWeight": 1490,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "arc_cksum_verify",
"line": undefined,
"name": "arc_cksum_verify",
"selfWeight": 0,
"totalWeight": 1490,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "fletcher_2_native",
"line": undefined,
"name": "fletcher_2_native",
"selfWeight": 1490,
"totalWeight": 1490,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "txg_sync_thread",
"line": undefined,
"name": "txg_sync_thread",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "spa_sync",
"line": undefined,
"name": "spa_sync",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "spa_flush_metaslabs",
"line": undefined,
"name": "spa_flush_metaslabs",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "metaslab_unflushed_bump",
"line": undefined,
"name": "metaslab_unflushed_bump",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "metaslab_set_unflushed_txg",
"line": undefined,
"name": "metaslab_set_unflushed_txg",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "dmu_write",
"line": undefined,
"name": "dmu_write",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "dmu_write_impl",
"line": undefined,
"name": "dmu_write_impl",
"selfWeight": 0,
"totalWeight": 1,
},
],
"name": "simple.txt",
"stacks": Array [
"fork_exit;taskqueue_thread_loop;taskqueue_run_locked;zio_execute;zio_write_compress;zio_compress_data;zfs_lz4_compress 7,447",
"amd64_syscall;sys_pwrite;kern_pwritev;dofilewrite;vn_io_fault;vn_io_fault1;vn_io_fault_doio;vn_write;VOP_WRITE_APV;zfs_freebsd_write;zfs_write;dmu_write_uio_dnode;dmu_buf_will_dirty_impl;arc_buf_thaw;arc_cksum_verify;fletcher_2_native 1,489",
"fork_exit;txg_sync_thread;spa_sync;spa_flush_metaslabs;metaslab_unflushed_bump;metaslab_set_unflushed_txg;dmu_write;dmu_write_impl;dmu_buf_will_dirty_impl;arc_buf_thaw;arc_cksum_verify;fletcher_2_native 1",
],
}
`;
exports[`importFromPMCStatCallGraph with invalid lines 1`] = `
Object {
"frames": Array [
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "fork_exit",
"line": undefined,
"name": "fork_exit",
"selfWeight": 0,
"totalWeight": 7448,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "taskqueue_thread_loop",
"line": undefined,
"name": "taskqueue_thread_loop",
"selfWeight": 0,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "taskqueue_run_locked",
"line": undefined,
"name": "taskqueue_run_locked",
"selfWeight": 0,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zio_execute",
"line": undefined,
"name": "zio_execute",
"selfWeight": 0,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zio_write_compress",
"line": undefined,
"name": "zio_write_compress",
"selfWeight": 0,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zio_compress_data",
"line": undefined,
"name": "zio_compress_data",
"selfWeight": 0,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zfs_lz4_compress",
"line": undefined,
"name": "zfs_lz4_compress",
"selfWeight": 7447,
"totalWeight": 7447,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "amd64_syscall",
"line": undefined,
"name": "amd64_syscall",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "sys_pwrite",
"line": undefined,
"name": "sys_pwrite",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "kern_pwritev",
"line": undefined,
"name": "kern_pwritev",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "dofilewrite",
"line": undefined,
"name": "dofilewrite",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "vn_io_fault",
"line": undefined,
"name": "vn_io_fault",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "vn_io_fault1",
"line": undefined,
"name": "vn_io_fault1",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "vn_io_fault_doio",
"line": undefined,
"name": "vn_io_fault_doio",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "vn_write",
"line": undefined,
"name": "vn_write",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/kernel",
"key": "VOP_WRITE_APV",
"line": undefined,
"name": "VOP_WRITE_APV",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zfs_freebsd_write",
"line": undefined,
"name": "zfs_freebsd_write",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "zfs_write",
"line": undefined,
"name": "zfs_write",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "dmu_write_uio_dnode",
"line": undefined,
"name": "dmu_write_uio_dnode",
"selfWeight": 0,
"totalWeight": 1489,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "dmu_buf_will_dirty_impl",
"line": undefined,
"name": "dmu_buf_will_dirty_impl",
"selfWeight": 0,
"totalWeight": 1490,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "arc_buf_thaw",
"line": undefined,
"name": "arc_buf_thaw",
"selfWeight": 0,
"totalWeight": 1490,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "arc_cksum_verify",
"line": undefined,
"name": "arc_cksum_verify",
"selfWeight": 0,
"totalWeight": 1490,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "fletcher_2_native",
"line": undefined,
"name": "fletcher_2_native",
"selfWeight": 1490,
"totalWeight": 1490,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "txg_sync_thread",
"line": undefined,
"name": "txg_sync_thread",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "spa_sync",
"line": undefined,
"name": "spa_sync",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "spa_flush_metaslabs",
"line": undefined,
"name": "spa_flush_metaslabs",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "metaslab_unflushed_bump",
"line": undefined,
"name": "metaslab_unflushed_bump",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "metaslab_set_unflushed_txg",
"line": undefined,
"name": "metaslab_set_unflushed_txg",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "dmu_write",
"line": undefined,
"name": "dmu_write",
"selfWeight": 0,
"totalWeight": 1,
},
Frame {
"col": undefined,
"file": "/boot/kernel/zfs.ko",
"key": "dmu_write_impl",
"line": undefined,
"name": "dmu_write_impl",
"selfWeight": 0,
"totalWeight": 1,
},
],
"name": "simple-with-invalids.txt",
"stacks": Array [
"fork_exit;taskqueue_thread_loop;taskqueue_run_locked;zio_execute;zio_write_compress;zio_compress_data;zfs_lz4_compress 7,447",
"amd64_syscall;sys_pwrite;kern_pwritev;dofilewrite;vn_io_fault;vn_io_fault1;vn_io_fault_doio;vn_write;VOP_WRITE_APV;zfs_freebsd_write;zfs_write;dmu_write_uio_dnode;dmu_buf_will_dirty_impl;arc_buf_thaw;arc_cksum_verify;fletcher_2_native 1,489",
"fork_exit;txg_sync_thread;spa_sync;spa_flush_metaslabs;metaslab_unflushed_bump;metaslab_set_unflushed_txg;dmu_write;dmu_write_impl;dmu_buf_will_dirty_impl;arc_buf_thaw;arc_cksum_verify;fletcher_2_native 1",
],
}
`;
exports[`importFromPMCStatCallGraph with invalid lines: indexToView 1`] = `0`;
exports[`importFromPMCStatCallGraph with invalid lines: profileGroup.name 1`] = `"simple-with-invalids.txt"`;
exports[`importFromPMCStatCallGraph: indexToView 1`] = `0`;
exports[`importFromPMCStatCallGraph: profileGroup.name 1`] = `"simple.txt"`;
+10
View File
@@ -23,6 +23,7 @@ import {importFromChromeHeapProfile} from './v8heapalloc'
import {isTraceEventFormatted, importTraceEvents} from './trace-event'
import {importFromCallgrind} from './callgrind'
import {importFromPapyrus} from './papyrus'
import {importFromPMCStatCallGraph} from './pmcstat-callgraph'
export async function importProfileGroupFromText(
fileName: string,
@@ -123,6 +124,9 @@ async function _importProfileGroup(dataSource: ProfileDataSource): Promise<Profi
} else if (fileName.startsWith('callgrind.')) {
console.log('Importing as Callgrind profile')
return importFromCallgrind(contents, fileName)
} else if (fileName.endsWith('.pmcstat.graph')) {
console.log('Importing as pmcstat callgraph format')
return toGroup(importFromPMCStatCallGraph(contents))
}
// Second pass: Try to guess what file format it is based on structure
@@ -204,6 +208,12 @@ async function _importProfileGroup(dataSource: ProfileDataSource): Promise<Profi
console.log('Importing as collapsed stack format')
return toGroup(fromBGFlameGraph)
}
const fromPMCStatCallGraph = importFromPMCStatCallGraph(contents)
if (fromPMCStatCallGraph) {
console.log('Importing as pmcstat callgraph format')
return toGroup(fromPMCStatCallGraph)
}
}
// Unrecognized format
+9
View File
@@ -0,0 +1,9 @@
import {checkProfileSnapshot} from '../lib/test-utils'
test('importFromPMCStatCallGraph', async () => {
await checkProfileSnapshot('./sample/profiles/pmcstat/simple.txt')
})
test('importFromPMCStatCallGraph with invalid lines', async () => {
await checkProfileSnapshot('./sample/profiles/pmcstat/simple-with-invalids.txt')
})
+30
View File
@@ -0,0 +1,30 @@
import {Profile, FrameInfo, StackListProfileBuilder} from '../lib/profile'
import {TextFileContent} from './utils'
export function importFromPMCStatCallGraph(contents: TextFileContent): Profile | null {
const profile = new StackListProfileBuilder()
const stack: FrameInfo[] = []
let file: string | undefined
let prevDuration = '0'
let prevIndent = -1
for (const line of contents.splitLines()) {
const match = /^( *)[\d.]+% \[(\d+)\]\s*(\S+)(?: @ (.*))?$/gm.exec(line)
if (!match) continue
const indent = match[1].length
if (indent <= prevIndent) {
const frames = stack.slice(0, prevIndent + 1).reverse()
const duration = parseInt(prevDuration, 10)
profile.appendSampleWithWeight(frames, duration)
}
const name = match[3]
file = match[4] || file
stack[indent] = {key: name, name: name, file: file}
prevDuration = match[2]
prevIndent = indent
}
if (prevIndent == -1) return null
const frames = stack.slice(0, prevIndent + 1).reverse()
const duration = parseInt(prevDuration, 10)
profile.appendSampleWithWeight(frames, duration)
return profile.build()
}
-13
View File
@@ -1,13 +0,0 @@
import {demangleCpp} from './demangle-cpp'
test('demangleCpp', () => {
expect(demangleCpp('a')).toBe('a')
expect(demangleCpp('someUnobfuscatedFunction')).toBe('someUnobfuscatedFunction')
expect(demangleCpp('__ZNK7Support6ColorFeqERKS0_')).toBe(
'Support::ColorF::operator==(Support::ColorF const&) const',
)
// Running a second time to test the cache
expect(demangleCpp('__ZNK7Support6ColorFeqERKS0_')).toBe(
'Support::ColorF::operator==(Support::ColorF const&) const',
)
})
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
gcc
+39
View File
@@ -0,0 +1,39 @@
EMCC = emcc
CFLAGS = -Os -Igcc/include -DHAVE_STDLIB_H -DHAVE_STRING_H
LDFLAGS_COMMON = \
-s EXPORTED_RUNTIME_METHODS=stringToUTF8OnStack,UTF8ToString \
-s EXPORTED_FUNCTIONS=_demangle,_free \
-s MODULARIZE=1 \
-s WASM=1 \
-s FILESYSTEM=0 \
-s MINIMAL_RUNTIME=1
# We have to disable EXPORT_ES6 as otherwise since esbuild cannot transpile that
# into umd or anything else.
# .ts files throughout the project can do this just fine because they are
# transpiled to compatible js.
ifeq ($(TEST),1)
LDFLAGS = $(LDFLAGS_COMMON) -s EXPORT_ES6=1
else
# SINGLE_FILE=1 embeds the wasm as base64.
LDFLAGS = $(LDFLAGS_COMMON) -s ASSERTIONS=0 -s SINGLE_FILE=1 -s ENVIRONMENT=web
endif
SRC_FILES = \
gcc/libiberty/safe-ctype.c \
gcc/libiberty/rust-demangle.c \
gcc/libiberty/cp-demangle.c \
demangle.c
POST_JS = demangle.post.js
EXTERN_POST_JS = demangle.extern.post.js
OUTPUT = demangle.wasm.js
all: $(OUTPUT)
$(OUTPUT): $(SRC_FILES) $(POST_JS)
$(EMCC) $(CFLAGS) $(SRC_FILES) $(LDFLAGS) --post-js $(POST_JS) --extern-post-js $(EXTERN_POST_JS) --no-entry -o $@
clean:
rm -f $(OUTPUT)
.PHONY: all clean
+30
View File
@@ -0,0 +1,30 @@
# demangle
A wrapper function on top of demangling functions from the `GNU libiberty`,
using emscripten.
# Build dependencies
## emscripten 4.0.0
Follow the official `emsdk` installation instructions:
https://emscripten.org/docs/getting_started/downloads.html#installation-instructions-using-the-emsdk-recommended
And make sure you have `emcc` in your PATH.
# Source dependencies
## GCC
Make sure to fetch `gcc` sources.
* `git clone https://github.com/gcc-mirror/gcc`
* `git reset --hard 40754a3b9bef83bf4da0675fcb378e8cd1675602`
# Build instructions
`make` to produce a single CommonJS module that contains also contain the base64 encoded wasm file.
`make TEST=1` to produce both a ES6 module AND the wasm file.
Using `make TEST=1` produce a file that can be used by `node` for testing purposes.
+38
View File
@@ -0,0 +1,38 @@
#include "gcc/include/demangle.h"
#include <string.h>
static char *non_microsoft_demangle(const char *mangled) {
int is_itanium_symbol = strncmp(mangled, "_Z", 2) == 0;
if (is_itanium_symbol) {
// Note: __cxa_demangle default is DMGL_PARAMS | DMGL_TYPES
return cplus_demangle_v3(mangled, DMGL_PARAMS | DMGL_TYPES);
}
int is_rust_symbol = strncmp(mangled, "_R", 2) == 0;
if (is_rust_symbol) {
// Note: rust_demangle uses only DMGL_VERBOSE and DMGL_NO_RECURSE_LIMIT,
// so no need to pass any options in our case.
return rust_demangle(mangled, DMGL_NO_OPTS);
}
return NULL;
}
// Logic is inspired by llvm::demangle.
// It is the caller's responsibility to free the string which is returned.
char *demangle(const char *mangled) {
char *demangled = non_microsoft_demangle(mangled);
if (demangled) {
return demangled;
}
if (mangled[0] == '_') {
demangled = non_microsoft_demangle(&mangled[1]);
if (demangled) {
return demangled;
}
}
return NULL;
}
+7
View File
@@ -0,0 +1,7 @@
/**
* DO NOT USE THIS FILE DIRECTLY.
*
* This file is only used as --extern-post-js of emcc.
*/
module.exports = Module
module.exports.default = Module
+22
View File
@@ -0,0 +1,22 @@
/**
* DO NOT USE THIS FILE DIRECTLY.
*
* This file is only used as --post-js of emcc.
*
* This file provides a higher level demangle function ready to use
* in JavaScript.
*/
Module['wasm_demangle'] = function(mangled) {
/*
* We are manually calling the lower-level generated functions
* instead of using `cwrap` because we need to `free` the pointer
* returned by `_demangle`.
*/
const param_ptr = stringToUTF8OnStack(mangled);
const result_ptr = _demangle(param_ptr);
const result = UTF8ToString(result_ptr);
if (result_ptr !== null && result_ptr !== undefined) {
_free(result_ptr);
}
return result;
}
+28
View File
@@ -0,0 +1,28 @@
import {loadDemangling} from './demangle'
test('demangle', async () => {
const demangle = await loadDemangling()
expect(demangle('a')).toBe('a')
expect(demangle('someUnobfuscatedFunction')).toBe('someUnobfuscatedFunction')
// C++ mangling
expect(demangle('__ZNK7Support6ColorFeqERKS0_')).toBe(
'Support::ColorF::operator==(Support::ColorF const&) const',
)
// Running a second time to test the cache
expect(demangle('__ZNK7Support6ColorFeqERKS0_')).toBe(
'Support::ColorF::operator==(Support::ColorF const&) const',
)
// Rust v0 mangling
expect(demangle('_RNvCskwGfYPst2Cb_3foo16example_function')).toBe('foo::example_function')
// Rust legacy mangling
expect(demangle('_ZN3std2fs8Metadata7created17h8df207f105c5d474E')).toBe(
'std::fs::Metadata::created::h8df207f105c5d474',
)
// False positive
expect(demangle('_ZoomIn')).toBe('_ZoomIn')
})
+27
View File
@@ -0,0 +1,27 @@
import createWasmDemangleModule from './demangle.wasm'
const wasmDemangleModulePromise = createWasmDemangleModule().then(module => module)
const cache = new Map<string, string>()
export async function loadDemangling(): Promise<(name: string) => string> {
// This function converts a mangled C++ name such as "__ZNK7Support6ColorFeqERKS0_"
// into a human-readable symbol (in this case "Support::ColorF::==(Support::ColorF&)")
const wasmDemangleModule = await wasmDemangleModulePromise
return cached(wasmDemangleModule.wasm_demangle)
}
function cached(demangle: (name: string) => string): (name: string) => string {
return (name: string): string => {
let result = cache.get(name)
if (result !== undefined) {
name = result
} else {
result = demangle(name)
result = result === '' ? name : result
cache.set(name, result)
name = result
}
return name
}
}
+5
View File
@@ -0,0 +1,5 @@
interface WasmDemangleModule {
wasm_demangle(mangled: string): string
}
export default function ModuleFactory(options?: unknown): Promise<WasmDemangleModule>
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
export {loadDemangling} from './demangle'
+11 -8
View File
@@ -1,7 +1,6 @@
import {lastOf, KeyedSet} from './utils'
import {ValueFormatter, RawValueFormatter} from './value-formatters'
import {FileFormat} from './file-format-spec'
const demangleCppModule = import('./demangle-cpp')
export interface FrameInfo {
key: string | number
@@ -404,16 +403,20 @@ export class Profile {
// Demangle symbols for readability
async demangle() {
let demangleCpp: ((name: string) => string) | null = null
let demangle: ((name: string) => string) | null = null
for (let frame of this.frames) {
// This function converts a mangled C++ name such as "__ZNK7Support6ColorFeqERKS0_"
// into a human-readable symbol (in this case "Support::ColorF::==(Support::ColorF&)")
if (frame.name.startsWith('__Z')) {
if (!demangleCpp) {
demangleCpp = (await demangleCppModule).demangleCpp
// This function converts a mangled C++ and Rust name into a human-readable symbol.
if (
frame.name.startsWith('__Z') ||
frame.name.startsWith('_R') ||
frame.name.startsWith('_Z')
) {
if (!demangle) {
const demangleModule = await import('./demangle')
demangle = await demangleModule.loadDemangling()
}
frame.name = demangleCpp(frame.name)
frame.name = demangle(frame.name)
}
}
}
+1 -1
View File
@@ -28,7 +28,7 @@ const importModule = import('../import')
// We put them all in one place so we can directly control the relative priority
// of these.
importModule.then(() => {})
import('../lib/demangle-cpp').then(() => {})
import('../lib/demangle').then(() => {})
import('source-map').then(() => {})
async function importProfilesFromText(