если у меня есть несколько Java файлов бортовых самописцев (.JFR), как мне объединить их, чтобы увидеть их при Java управлении полетом за один раз? - PullRequest
1 голос
/ 01 апреля 2020

Я получил для анализа кучу нескольких файлов JFR, например, 170, и открытие одного за другим занимает слишком много времени, могу ли я поместить их в один файл, начиная с того факта, что у меня есть только файлы и я не могу настроить JVM и получить JFR снова. например

  • 2020_03_30_20_37_01_2333_0.jfr
  • N

Ответы [ 2 ]

2 голосов
/ 01 апреля 2020

Вы можете использовать инструмент 'jfr', расположенный в JDK_HOME / bin с 11.06 или более поздней версии.

$ jfr assemble <repository> <file>

, где repository - это каталог, в котором находятся файлы, а file - это имя файла записи (.jfr) для создания.

Файл записи - это просто объединение файлов чанка, так что вы можете сделать это и в оболочке. Например, используя команду copy / b в Windows

 $ copy /b 1.jfr + 2.jfr + 3.jfr combined.jfr 
0 голосов
/ 02 апреля 2020

Вот скрипт в windows powershell для конкатенации файлов JFR, просто позаботьтесь о размере окончательного конкатенированного файла, он может быть слишком большим, в этом случае вы можете захотеть уменьшить файлы для конкатенации

    $Location = ""
    $outputConcatenatedJFR = "all_2333_1.jfr"
    $items = Get-ChildItem -Path . -Filter *2333_1.jfr | Sort-Object -Property Name
    New-Item $outputConcatenatedJFR -ItemType file
    ForEach ($item in $items) {
       Write-Host "Processing file - " $item
       cmd /c copy /b $outputConcatenatedJFR+$item $outputConcatenatedJFR
    }
...