{
    "content": [
        {
            "type": "text",
            "text": "# strace-log-merge (man)\n\n## NAME\n\nstrace-log-merge - merge strace -ff -tt output\n\n## SYNOPSIS\n\nstrace-log-merge STRACELOG\n\n## DESCRIPTION\n\nstrace-log-merge  merges the output of strace -ff -tt[t] command, prepending PID to each line\nand sorting the result using time stamp as a key.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS** (1 subsections)\n- **DESCRIPTION**\n- **OPTIONS**\n- **EXIT STATUS** (1 subsections)\n- **USAGE EXAMPLE**\n- **NOTES** (1 subsections)\n- **BUGS**\n- **HISTORY**\n- **REPORTING BUGS**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "strace-log-merge",
        "section": "",
        "mode": "man",
        "summary": "strace-log-merge - merge strace -ff -tt output",
        "synopsis": "strace-log-merge STRACELOG",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "strace",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/strace/1/json"
            },
            {
                "name": "STRACE-LOG-MERGE",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/STRACE-LOG-MERGE/1/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": [
                    {
                        "name": "strace-log-merge --help",
                        "lines": 1
                    }
                ]
            },
            {
                "name": "DESCRIPTION",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "OPTIONS",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "EXIT STATUS",
                "lines": 2,
                "subsections": [
                    {
                        "name": "Non-zero",
                        "lines": 3
                    }
                ]
            },
            {
                "name": "USAGE EXAMPLE",
                "lines": 29,
                "subsections": []
            },
            {
                "name": "NOTES",
                "lines": 2,
                "subsections": [
                    {
                        "name": "-ttt",
                        "lines": 1
                    }
                ]
            },
            {
                "name": "BUGS",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "HISTORY",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "REPORTING BUGS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "strace-log-merge - merge strace -ff -tt output\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "strace-log-merge STRACELOG\n",
                "subsections": [
                    {
                        "name": "strace-log-merge --help",
                        "content": ""
                    }
                ]
            },
            "DESCRIPTION": {
                "content": "strace-log-merge  merges the output of strace -ff -tt[t] command, prepending PID to each line\nand sorting the result using time stamp as a key.\n",
                "subsections": []
            },
            "OPTIONS": {
                "content": "--help Show program usage and exit.\n\nSTRACELOG\nOutput file name prefix of files produced by a strace -ff -tt[t] command.\n",
                "subsections": []
            },
            "EXIT STATUS": {
                "content": "0      Success\n",
                "subsections": [
                    {
                        "name": "Non-zero",
                        "content": "Error occurred: either no argument specified (in that case a  usage  is  printed),  or\nsomething went wrong during the processing of STRACELOG.*  files.\n"
                    }
                ]
            },
            "USAGE EXAMPLE": {
                "content": "$ strace -o sleepy -ff -tt -e trace=execve,nanosleep \\\nsh -c 'sleep 0.1 & sleep 0.2 & sleep 0.3'\n$ strace-log-merge sleepy | fold -w 72 -s\n13475 21:13:52.040837 execve(\"/bin/sh\", [\"sh\", \"-c\", \"sleep 0.1 & sleep\n0.2 & sleep 0.\"...], 0x7ffde54b2450 /* 33 vars */) = 0\n13478 21:13:52.044050 execve(\"/bin/sleep\", [\"sleep\", \"0.3\"],\n0x5631be4f87a8 /* 33 vars */) = 0\n13476 21:13:52.044269 execve(\"/bin/sleep\", [\"sleep\", \"0.1\"],\n0x5631be4f87a8 /* 33 vars */) = 0\n13477 21:13:52.044389 execve(\"/bin/sleep\", [\"sleep\", \"0.2\"],\n0x5631be4f87a8 /* 33 vars */) = 0\n13478 21:13:52.046207 nanosleep({tvsec=0, tvnsec=300000000}, NULL) = 0\n13476 21:13:52.046303 nanosleep({tvsec=0, tvnsec=100000000}, NULL) = 0\n13477 21:13:52.046318 nanosleep({tvsec=0, tvnsec=200000000}, NULL) = 0\n13476 21:13:52.146852 +++ exited with 0 +++\n13475 21:13:52.146942 --- SIGCHLD {sisigno=SIGCHLD,\nsicode=CLDEXITED, sipid=13476, siuid=1000, sistatus=0, siutime=0,\nsistime=0} ---\n13477 21:13:52.247782 +++ exited with 0 +++\n13475 21:13:52.247885 --- SIGCHLD {sisigno=SIGCHLD,\nsicode=CLDEXITED, sipid=13477, siuid=1000, sistatus=0, siutime=0,\nsistime=0} ---\n13478 21:13:52.347680 +++ exited with 0 +++\n13475 21:13:52.347786 --- SIGCHLD {sisigno=SIGCHLD,\nsicode=CLDEXITED, sipid=13478, siuid=1000, sistatus=0, siutime=0,\nsistime=0} ---\n13475 21:13:52.348069 +++ exited with 0 +++\n\n",
                "subsections": []
            },
            "NOTES": {
                "content": "strace-log-merge  does not work well with strace logs generated by strace -tt invocation that\npass midnight, as those lack the information required for the proper sorting.  Employing  the",
                "subsections": [
                    {
                        "name": "-ttt",
                        "content": ""
                    }
                ]
            },
            "BUGS": {
                "content": "strace-log-merge  does  not perform any checks whether the files specified are in the correct\nformat and implies that only files from a single strace session match STRACELOG.*  glob pat‐\ntern.\n",
                "subsections": []
            },
            "HISTORY": {
                "content": "The initial version of strace-log-merge was written by Denys Vlasenko in 2012.\n",
                "subsections": []
            },
            "REPORTING BUGS": {
                "content": "Problems  with  strace-log-merge should be reported to the strace mailing list at <strace-de‐\nvel@lists.strace.io>.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "strace(1)\n\n\n\nstrace 5.16                                  2022-01-01                          STRACE-LOG-MERGE(1)",
                "subsections": []
            }
        }
    }
}