Mathieu Desnoyers [Thu, 25 Aug 2011 21:17:19 +0000 (17:17 -0400)]
Add gid to registration
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 25 Aug 2011 21:14:49 +0000 (17:14 -0400)]
Add ppid field to registration
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 25 Aug 2011 20:55:31 +0000 (16:55 -0400)]
Send comm name on register
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 25 Aug 2011 20:54:53 +0000 (16:54 -0400)]
Stress-test buffer in hello.c
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 25 Aug 2011 20:54:23 +0000 (16:54 -0400)]
Update comment
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 25 Aug 2011 17:49:01 +0000 (13:49 -0400)]
Fix reversed mask usage of subbuffer offset
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 25 Aug 2011 17:10:02 +0000 (13:10 -0400)]
Fix buffer allocation alignment error (fix overwrite mode)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 25 Aug 2011 16:36:08 +0000 (12:36 -0400)]
metadata: fix wait handling
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 25 Aug 2011 16:16:40 +0000 (12:16 -0400)]
Fix metadata wait handling
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 25 Aug 2011 15:47:42 +0000 (11:47 -0400)]
Cleanup
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 25 Aug 2011 14:39:04 +0000 (10:39 -0400)]
Centralize control of contructors/destructors
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 24 Aug 2011 20:21:52 +0000 (16:21 -0400)]
Document prod/consumer synchro
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 24 Aug 2011 20:07:36 +0000 (16:07 -0400)]
update comment
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 24 Aug 2011 20:04:34 +0000 (16:04 -0400)]
Fix initial semaphore+timeout
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 24 Aug 2011 00:19:03 +0000 (20:19 -0400)]
UST_REGISTER_TIMEOUT 0 and 1 change (follow poll() timeout)
0 now means "don't wait" and -1 "wait forever".
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 23:53:12 +0000 (19:53 -0400)]
Add env var UST_REGISTER_TIMEOUT
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 23:28:39 +0000 (19:28 -0400)]
Add register done command
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 21:15:57 +0000 (17:15 -0400)]
Add UST core probe (metadata description)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 21:12:44 +0000 (17:12 -0400)]
Tracepoint event: Document search paths
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 21:00:35 +0000 (17:00 -0400)]
Remove unneeded CONFIG_* define check
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 20:48:23 +0000 (16:48 -0400)]
Cleanup
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 20:40:02 +0000 (16:40 -0400)]
Fix metadata channel creation
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 20:12:06 +0000 (16:12 -0400)]
Add missing error handling
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 19:56:57 +0000 (15:56 -0400)]
Fix channel release call order wrt free
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 19:14:48 +0000 (15:14 -0400)]
set missing shm obj index field
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 18:36:16 +0000 (14:36 -0400)]
fix shm objects wait fd and allocation error handling
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 18:19:54 +0000 (14:19 -0400)]
Fix channel transport name
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 18:00:58 +0000 (14:00 -0400)]
Implement ioctl-alike communication
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 16:42:32 +0000 (12:42 -0400)]
ust comm: more resilient handle table, fix size of reply
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 16:08:31 +0000 (12:08 -0400)]
Make connect error retry wait 5 seconds
Until we add the wait scheme.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 16:04:46 +0000 (12:04 -0400)]
Make client init quiet (except in UST_DEBUG mode)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 16:03:34 +0000 (12:03 -0400)]
factorize out send_reply
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 15:57:14 +0000 (11:57 -0400)]
Error message should only appear when return value is negative
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 23 Aug 2011 15:34:14 +0000 (11:34 -0400)]
Session create/release tested.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 22 Aug 2011 19:35:10 +0000 (15:35 -0400)]
Rename sessiond comm lib into ust comm
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 22 Aug 2011 15:14:43 +0000 (11:14 -0400)]
Set SOCK_CLOEXEC on socket connected to
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 22 Aug 2011 01:12:30 +0000 (21:12 -0400)]
Add major/minor version in libust registration
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 21 Aug 2011 22:31:42 +0000 (18:31 -0400)]
Update libust communication protocol
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 21 Aug 2011 22:02:48 +0000 (18:02 -0400)]
libust comm: use own message structures
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 20:55:51 +0000 (16:55 -0400)]
Spawn autonomous listener threads
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 19:57:24 +0000 (15:57 -0400)]
add parse message
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 18:36:39 +0000 (14:36 -0400)]
Add work-in-progress lttng-ust-comm
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 18:02:46 +0000 (14:02 -0400)]
Coding style cleanup
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 17:34:59 +0000 (13:34 -0400)]
Comment out unimplemented vtid
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 13:43:48 +0000 (09:43 -0400)]
comment shm
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 13:28:32 +0000 (09:28 -0400)]
shm: Include the returned element length in the range check
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 13:20:40 +0000 (09:20 -0400)]
shm: introduce shmp_index
Add array offsets before checking the target pointer range.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 12:50:43 +0000 (08:50 -0400)]
Cleanup
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 00:44:21 +0000 (20:44 -0400)]
Add wakeup on subbuffer delivery
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 00:03:53 +0000 (20:03 -0400)]
Implement shm object table
.. for multi-process accesses to the same maps, with safe "pointers".
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 16 Aug 2011 21:13:58 +0000 (17:13 -0400)]
Update tests/hello test-case layout (cleanup)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 16 Aug 2011 19:57:45 +0000 (15:57 -0400)]
Clarify TRACEPOINT_EVENT comments
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 11 Aug 2011 23:51:57 +0000 (19:51 -0400)]
Fix float/double handling
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 11 Aug 2011 23:46:24 +0000 (19:46 -0400)]
test and fix array, sequence, string
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 11 Aug 2011 23:31:10 +0000 (19:31 -0400)]
test: add array test
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 11 Aug 2011 23:28:06 +0000 (19:28 -0400)]
Merge copy of lttng-sessiond-comm
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 10 Aug 2011 18:17:33 +0000 (14:17 -0400)]
Tracepoint event test update
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 10 Aug 2011 15:13:57 +0000 (11:13 -0400)]
tests: Build all integer declarations
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 10 Aug 2011 15:13:06 +0000 (11:13 -0400)]
Build TRACEPOINT_EVENT integer type
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 9 Aug 2011 13:46:51 +0000 (09:46 -0400)]
Add UST_DEBUG env. var. support
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 8 Aug 2011 23:15:46 +0000 (19:15 -0400)]
libust 2.0 + ringbuffer + TRACEPOINT_EVENT builds and runs
Missing pieces: Now libust needs to talk to the session daemon.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 4 Aug 2011 22:36:12 +0000 (18:36 -0400)]
Add ring buffer comment about shm
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 4 Aug 2011 21:05:42 +0000 (17:05 -0400)]
Use shm handle, fix allocation space, take care of alignment
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 4 Aug 2011 14:20:00 +0000 (10:20 -0400)]
Commit changes prior to shmp read-only header
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 3 Aug 2011 01:45:27 +0000 (21:45 -0400)]
Add float descriptions (metadata)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 3 Aug 2011 01:36:22 +0000 (21:36 -0400)]
TRACEPOINT_EVENT: add floating point support
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 28 Jul 2011 14:52:04 +0000 (10:52 -0400)]
Fix context order
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 27 Jul 2011 19:07:25 +0000 (15:07 -0400)]
Update tracepoint header comments
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 27 Jul 2011 18:49:40 +0000 (14:49 -0400)]
Change tracepoint.h header
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 27 Jul 2011 18:10:36 +0000 (14:10 -0400)]
TRACEPOINT_EVENT API
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 27 Jul 2011 14:42:06 +0000 (10:42 -0400)]
ltt-context: document that pointers may change
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Wed, 27 Jul 2011 14:40:13 +0000 (10:40 -0400)]
context: document and check that only last context is removed
Merge from lttng-modules:
commit
4cae220c1be2cc73008603a21152fce7643cfc35
Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date: Sat Jul 23 12:37:54 2011 -0400
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Yannick Brosseau [Mon, 25 Jul 2011 18:56:16 +0000 (14:56 -0400)]
Fix git URL
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 17 Jul 2011 14:13:49 +0000 (10:13 -0400)]
Implement multi-session registry
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 16 Jul 2011 18:44:09 +0000 (14:44 -0400)]
implement ring buffer clients
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 16 Jul 2011 17:30:24 +0000 (13:30 -0400)]
Resync with kernel LTTng headers
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 16 Jul 2011 17:06:06 +0000 (13:06 -0400)]
Lib ring buffer: use TLS for nesting count
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 4 Jul 2011 17:03:45 +0000 (13:03 -0400)]
Ring buffer: use shmp (shared-memory pointers) for per-channel shm structures
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 27 Jun 2011 19:24:39 +0000 (15:24 -0400)]
Port ring buffer to userspace, part 1
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 27 Jun 2011 16:07:49 +0000 (12:07 -0400)]
Merge LTTng commit
360f38ea4fee91e2403c03cb43841ef6769aaac7
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 27 Jun 2011 16:06:28 +0000 (12:06 -0400)]
Merge LTTng commit
5c0552665e4d152e97edc995650711d4f6ac418d
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 27 Jun 2011 16:05:27 +0000 (12:05 -0400)]
Merge LTTng commit
c6485006a92b1b86fbb48c2b277732d3405295c9
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 27 Jun 2011 16:04:33 +0000 (12:04 -0400)]
Merge LTTng commit
e64957da15e3652322dcf6a5389beb01901de8e6
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 27 Jun 2011 16:02:21 +0000 (12:02 -0400)]
Build libringbuffer, remove kernel includes
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Jun 2011 19:38:22 +0000 (15:38 -0400)]
Initial addition of lttng ring buffer clients
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Jun 2011 19:37:16 +0000 (15:37 -0400)]
add ltt-probes.c
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Jun 2011 19:36:27 +0000 (15:36 -0400)]
Add event and context files
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Jun 2011 19:33:48 +0000 (15:33 -0400)]
Add alignment header
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Jun 2011 19:33:33 +0000 (15:33 -0400)]
Add bug management header
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Jun 2011 19:33:23 +0000 (15:33 -0400)]
Add bitfield header
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Jun 2011 19:29:38 +0000 (15:29 -0400)]
lttng priority heap initial import
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Jun 2011 19:29:28 +0000 (15:29 -0400)]
lib ring buffer initial import
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Jun 2011 19:24:23 +0000 (15:24 -0400)]
More removal
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Jun 2011 19:09:17 +0000 (15:09 -0400)]
Move away headers that will be deprecated
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Thu, 16 Jun 2011 18:59:54 +0000 (14:59 -0400)]
Move away files that will be deprecated
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 13 Jun 2011 14:24:46 +0000 (10:24 -0400)]
Fix compilation with uclibc
Reported-by: Khem Raj <raj.khem@gmail.com>
Reported-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 13 Jun 2011 14:19:46 +0000 (10:19 -0400)]
Remove execinfo.h include
Not required, and breaks uclibc build.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 12 Jun 2011 16:19:41 +0000 (12:19 -0400)]
Update changelog and version to UST 0.14
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sun, 12 Jun 2011 16:19:26 +0000 (12:19 -0400)]
Update info page for 0.14 API
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 10 Jun 2011 22:40:02 +0000 (18:40 -0400)]
Disable exit fast test (known issue)
Disable this test before the release, as we are working on a solution
that involves redesign of the way libust is controlled (synchronization
with a lttng-tools session daemon). We don't want to flood testers with
known issues.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
This page took 0.057054 seconds and 4 git commands to generate.