)]}'
{
  "log": [
    {
      "commit": "862b032535bbc2592b6483d7ac762281455c797b",
      "tree": "542386ceaa03f445cf2529b3f91d5c27b970ea37",
      "parents": [
        "2595fe48a75bd68eca797bc237674a6903abd169",
        "0acd4164e7bff1bf52b3920cc64b2ca814f51ad5"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "nduca@chromium.org",
        "time": "Fri May 15 17:28:05 2015"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "nduca@chromium.org",
        "time": "Fri May 15 17:28:05 2015"
      },
      "message": "Merge pull request #1 from deanliao/patch-1\n\nFix package name"
    },
    {
      "commit": "2595fe48a75bd68eca797bc237674a6903abd169",
      "tree": "4712a2937c58fe71110fde99d7319571bfb80ecd",
      "parents": [
        "dd463ea9e2c430de2b9e53dea57a77b4c3ac9b30",
        "3b5100ce95db4b4f0c08efce1de4a395576cc6c3"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "nduca@chromium.org",
        "time": "Fri May 15 17:27:35 2015"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "nduca@chromium.org",
        "time": "Fri May 15 17:27:35 2015"
      },
      "message": "Merge pull request #2 from deanliao/patch-2\n\nFix doc"
    },
    {
      "commit": "3b5100ce95db4b4f0c08efce1de4a395576cc6c3",
      "tree": "4712a2937c58fe71110fde99d7319571bfb80ecd",
      "parents": [
        "dd463ea9e2c430de2b9e53dea57a77b4c3ac9b30"
      ],
      "author": {
        "name": "deanliao",
        "email": "deanliao@gmail.com",
        "time": "Thu May 14 09:09:53 2015"
      },
      "committer": {
        "name": "deanliao",
        "email": "deanliao@gmail.com",
        "time": "Thu May 14 09:09:53 2015"
      },
      "message": "Fix doc\n\ntrace_flush doc was wrongly overridden by trace_is_enabled\u0027s doc."
    },
    {
      "commit": "0acd4164e7bff1bf52b3920cc64b2ca814f51ad5",
      "tree": "a7470f42972f190e6da043654560ce19bab64569",
      "parents": [
        "dd463ea9e2c430de2b9e53dea57a77b4c3ac9b30"
      ],
      "author": {
        "name": "deanliao",
        "email": "deanliao@gmail.com",
        "time": "Thu May 14 09:06:36 2015"
      },
      "committer": {
        "name": "deanliao",
        "email": "deanliao@gmail.com",
        "time": "Thu May 14 09:06:36 2015"
      },
      "message": "Fix package name\n\nFolder \u0027trace_event\u0027 was renamed to \u0027trace_event_impl\u0027. setup.py should reflect that."
    },
    {
      "commit": "dd463ea9e2c430de2b9e53dea57a77b4c3ac9b30",
      "tree": "dd4721da53280a409df064d72a5ba02034d81a8e",
      "parents": [
        "473ff66bde7a5e41ce1b97e41af3e067cb42e455"
      ],
      "author": {
        "name": "Dave Tu",
        "email": "dtu@chromium.org",
        "time": "Tue Aug 19 00:01:18 2014"
      },
      "committer": {
        "name": "Dave Tu",
        "email": "dtu@chromium.org",
        "time": "Tue Aug 19 00:01:26 2014"
      },
      "message": "Fixes for previous commit.\n"
    },
    {
      "commit": "473ff66bde7a5e41ce1b97e41af3e067cb42e455",
      "tree": "741fdfda0cd14134aecfe019fc96bec85c8a8b5e",
      "parents": [
        "758c27eed1da91c8fcba36c8426342fd8bc5d4c3"
      ],
      "author": {
        "name": "Dave Tu",
        "email": "dtu@chromium.org",
        "time": "Mon Aug 18 22:43:40 2014"
      },
      "committer": {
        "name": "Dave Tu",
        "email": "dtu@chromium.org",
        "time": "Mon Aug 18 22:43:40 2014"
      },
      "message": "Merged @traced and @tracemethod, add paramters to @traced, add with statement support.\n"
    },
    {
      "commit": "758c27eed1da91c8fcba36c8426342fd8bc5d4c3",
      "tree": "b7b53195192c6968ce9a493dcdb5d365cf53b460",
      "parents": [
        "c0854bde8a56662adab638471e3d314afcd30d7e"
      ],
      "author": {
        "name": "Dave Tu",
        "email": "dtu@chromium.org",
        "time": "Thu Aug 14 23:07:47 2014"
      },
      "committer": {
        "name": "Dave Tu",
        "email": "dtu@chromium.org",
        "time": "Thu Aug 14 23:07:47 2014"
      },
      "message": "Fix decorators for when wrapped function raises an Exception.\n"
    },
    {
      "commit": "c0854bde8a56662adab638471e3d314afcd30d7e",
      "tree": "ff10da0ced6fb303fbb3e8b296ab94316dadd5b2",
      "parents": [
        "6bc9fdf2e1420d4f98cc12bcfc9797c40d67a89d"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "nduca@chromium.org",
        "time": "Tue Jun 05 21:08:22 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:50 2014"
      },
      "message": "Shim pid for py27 compat\n"
    },
    {
      "commit": "6bc9fdf2e1420d4f98cc12bcfc9797c40d67a89d",
      "tree": "fcc38470c6bb79e919b23b0844ae71ed14fb4feb",
      "parents": [
        "24924308c591043d55f0bb440fed5edafd29017f"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "nduca@chromium.org",
        "time": "Fri Jan 20 08:17:33 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:50 2014"
      },
      "message": "Fix trace_begin and trace_end functions. They were broken beyond recognition.\n"
    },
    {
      "commit": "24924308c591043d55f0bb440fed5edafd29017f",
      "tree": "67cdf9929825c9b584b31b17ea0f698d480ef2fd",
      "parents": [
        "4894ae55ec67b6dac7fced03de5273c8cf32617a"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Mon Jan 16 01:50:39 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:49 2014"
      },
      "message": "Move trace_event into trace_event_impl and create shim function for it. Write a ton of doc strings. Rename @trace to @traced.\n"
    },
    {
      "commit": "4894ae55ec67b6dac7fced03de5273c8cf32617a",
      "tree": "4453d54b206fac19596f9821aef7078945021c2d",
      "parents": [
        "7394b6099e1da7c08b3390ab56828a055457cc7f"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Sun Jan 15 23:30:04 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:48 2014"
      },
      "message": "Rename log and shim related tests so it is clear what bit of code they are testing.\n"
    },
    {
      "commit": "7394b6099e1da7c08b3390ab56828a055457cc7f",
      "tree": "de67e5ca058d74240de797975c00e23dd7add548",
      "parents": [
        "42a64356edf96a1953192a4c4a6ffc7a73f1ea60"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Sun Jan 15 23:26:43 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:10 2014"
      },
      "message": "Dont use decorators in basic log tests.\n"
    },
    {
      "commit": "42a64356edf96a1953192a4c4a6ffc7a73f1ea60",
      "tree": "7ea7edc611ece8df40f9d846355b9ff1a59998d7",
      "parents": [
        "33aeece0cf3080fce3e5b0d823b3e12cc9889108"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Sun Jan 15 23:20:41 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:10 2014"
      },
      "message": "Rename trace_events -\u003e parsed_trace_events.\n"
    },
    {
      "commit": "33aeece0cf3080fce3e5b0d823b3e12cc9889108",
      "tree": "c0e0eb1dd63f97b751674f1d558a709f6ce3b9e5",
      "parents": [
        "8aec0121028f0f4887c217a94481f80e0b6e2700"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Sun Jan 15 23:18:43 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:10 2014"
      },
      "message": "Add unit test for multiple process (non-multiprocessing) tracing\n"
    },
    {
      "commit": "8aec0121028f0f4887c217a94481f80e0b6e2700",
      "tree": "3d4faf20059efdcdb17b658de152f508cebcad48",
      "parents": [
        "31112d492bf1171a997cd21272693c09e5a7aa15"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Sun Jan 15 12:47:40 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:10 2014"
      },
      "message": "Change to new trace format and make multiprocess tracing work.\n\nSwitch from the old {traceEvents: to the new [ format. trace_event_viewer\nknows how to fixup traces that dont have a close } on them, allowing us to\nremove complexity around adding trailing ]} to tracefiles.\n\nWhen creating a trace file, output process metadata as the first action.\nThis allows us to make every flush command preceed itself with a \",\", since\nthere is guaranteed to be a previous event. This allows more complexity to be\navoided.\n\nAdd _note function to help with debugging in the future.\n"
    },
    {
      "commit": "31112d492bf1171a997cd21272693c09e5a7aa15",
      "tree": "fed6dee868bd40f83366657689340b23d3caf05d",
      "parents": [
        "447f4efda58dcc210eca5234057743144c83d75c"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Sun Jan 15 12:44:04 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:10 2014"
      },
      "message": "Add explicit trace_begin and trace_end functions.\n"
    },
    {
      "commit": "447f4efda58dcc210eca5234057743144c83d75c",
      "tree": "777c21737e761cb4fb226415972f5a9f070d22e6",
      "parents": [
        "c117e456540b6808630d52136d306b07bc4e8399"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Sun Jan 15 12:41:32 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:10 2014"
      },
      "message": "Fixup traces that begin with a [ but dont end with the same.\n\nThis will simplify the tracing logic for multiple processes.\n"
    },
    {
      "commit": "c117e456540b6808630d52136d306b07bc4e8399",
      "tree": "95e55c2c895b90d378d046992e364e5d8e289ed7",
      "parents": [
        "82928c70bac589384971315b4c5c7750be9746f1"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Sun Jan 15 12:39:47 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:10 2014"
      },
      "message": "If an event has no tid or pid, dont add it to the tid or pid list\n"
    },
    {
      "commit": "82928c70bac589384971315b4c5c7750be9746f1",
      "tree": "192129137e34621a2d43d8f8ff038dc3a4c1d35f",
      "parents": [
        "ec8db68ca5f4dab20cdc9043bf65b61cac216eb9"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Sun Jan 15 12:34:28 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:10 2014"
      },
      "message": "Open logs for append rather than write. Makes multiple process traces actually work.\n"
    },
    {
      "commit": "ec8db68ca5f4dab20cdc9043bf65b61cac216eb9",
      "tree": "20de7193d0e22f45c20d4043a17533e0849fd5b6",
      "parents": [
        "4b59d0c8aba7349fef932ca94c9189b2502dffbf"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Sun Jan 08 07:15:08 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:10 2014"
      },
      "message": "Add @tracedmethod decorator to trace classmethods.\n"
    },
    {
      "commit": "4b59d0c8aba7349fef932ca94c9189b2502dffbf",
      "tree": "616048f762b615384b7b5d80903d47e738d3e97b",
      "parents": [
        "cbb65931084b65f127071101bbd0e4e7bc89f6a7"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Sun Jan 08 05:38:42 2012"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:10 2014"
      },
      "message": "Remove versioner hack because py_trace_event doesn\u0027t need wx\n"
    },
    {
      "commit": "cbb65931084b65f127071101bbd0e4e7bc89f6a7",
      "tree": "2e20ec788fee846542a379f3c1a5d92bb3295a47",
      "parents": [
        "831a8ce0c6baff83b25409fd57574ba4ba6a0d86"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Thu Aug 18 07:27:55 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:09 2014"
      },
      "message": "Use microseconds instead of seconds on ts.\n"
    },
    {
      "commit": "831a8ce0c6baff83b25409fd57574ba4ba6a0d86",
      "tree": "7b718123a78c23886ee234e660d55e91da672b2a",
      "parents": [
        "709e7f91639a689914bfb39682c8da24825b77a1"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Thu Aug 18 05:58:14 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:09 2014"
      },
      "message": "Add tests for the new enable code. Add tests for double flushing. Filter out metadata when asking for thread events.\n"
    },
    {
      "commit": "709e7f91639a689914bfb39682c8da24825b77a1",
      "tree": "d7ca974ca1cee5ea01dd358f5025f6aa07804b7e",
      "parents": [
        "e782763888b4d13bda12a24f292d449dcc7f62c2"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Thu Aug 18 05:10:19 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:09 2014"
      },
      "message": "Make flush work if enabled is off.\n"
    },
    {
      "commit": "e782763888b4d13bda12a24f292d449dcc7f62c2",
      "tree": "257b319636aa88ec9e9f4f34fada7eb240bdd7b0",
      "parents": [
        "34922801e01f628d46c605b54289650e2d0b0e77"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Thu Aug 18 05:06:20 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:09 2014"
      },
      "message": "Add process args as metadata.\n"
    },
    {
      "commit": "34922801e01f628d46c605b54289650e2d0b0e77",
      "tree": "05341738555c63b54c7d77e520382b815b7ca596",
      "parents": [
        "52ca1f236906d15922f793855c5e12a85f43f0b2"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Thu Aug 18 04:47:49 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:09 2014"
      },
      "message": "Let flush succeed if not tracing.\n"
    },
    {
      "commit": "52ca1f236906d15922f793855c5e12a85f43f0b2",
      "tree": "4a93336390e34eff40e4c9e6d643b371c7f0bbac",
      "parents": [
        "f522632c8c8cdb8c4fb93e3842974aff215ed1d6"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Thu Aug 18 04:29:34 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:09 2014"
      },
      "message": "Allow enabling of trace on passed-in filenames and/or passed-in file objects.\n"
    },
    {
      "commit": "f522632c8c8cdb8c4fb93e3842974aff215ed1d6",
      "tree": "ba2cb711cbab4ca62b118cfa06dc1b3bd0c3a271",
      "parents": [
        "e3e4f389038bd10f22cd252cf8aa3e11bcc64a77"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Thu Aug 18 04:27:49 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:09 2014"
      },
      "message": "More readme tweaks.\n"
    },
    {
      "commit": "e3e4f389038bd10f22cd252cf8aa3e11bcc64a77",
      "tree": "15a256d3fd5ff233da82ee1adf724cf6c05dd22c",
      "parents": [
        "372738aa92d309c57454bf1f7215f3b345b76b3a"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Tue Aug 16 06:12:47 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 05:37:07 2014"
      },
      "message": "Monkeypatch multiprocessing module so that multiprocessing (almost) automatically traces. Flushing is still a manual thing.\n"
    },
    {
      "commit": "372738aa92d309c57454bf1f7215f3b345b76b3a",
      "tree": "536164b1ac51008965d8d6fb64eb1ca9dd20cc09",
      "parents": [
        "df9f7803e89ac82cdfb3b620fc4e0992d095a3f6"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Mon Aug 08 08:31:21 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 04:47:20 2014"
      },
      "message": "Fix multiprocessing.\n"
    },
    {
      "commit": "df9f7803e89ac82cdfb3b620fc4e0992d095a3f6",
      "tree": "b8b92bf5053619100efeb3e53fd691716b8108c8",
      "parents": [
        "852fc88f1625159202ff9627d8820317cd73054d"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Mon Aug 08 03:48:07 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Wed Aug 13 04:47:18 2014"
      },
      "message": "Initial impl of trace event.\n"
    },
    {
      "commit": "852fc88f1625159202ff9627d8820317cd73054d",
      "tree": "c71babdaabccb950cca4ff29d0ea1631a49a816d",
      "parents": [
        "53af9af2996277fa21232cc833999b3621918395"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Mon Aug 08 03:46:55 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Mon Aug 08 03:46:55 2011"
      },
      "message": "Add ignore.\n"
    },
    {
      "commit": "53af9af2996277fa21232cc833999b3621918395",
      "tree": "1fafc01dc886c2c291b0f924e1be55cbb93c38f7",
      "parents": [
        "45c266b665a2fad0ea6db3c563fd490ef12b34cf"
      ],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Mon Aug 08 03:46:37 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Mon Aug 08 03:46:37 2011"
      },
      "message": "Add test runner, setup and base package.\n"
    },
    {
      "commit": "45c266b665a2fad0ea6db3c563fd490ef12b34cf",
      "tree": "ccba22fee35d82d61857b4b37aacb99c3d6dbd53",
      "parents": [],
      "author": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Mon Aug 08 03:46:20 2011"
      },
      "committer": {
        "name": "Nat Duca",
        "email": "natduca@gmail.com",
        "time": "Mon Aug 08 03:46:20 2011"
      },
      "message": "Readme and license.\n"
    }
  ]
}
