James Shubin
32aae8f57a
lib, pgraph, resources: Refactor data association API
...
This should make things cleaner and help avoid as much churn every time
we change a property.
2017-03-07 22:51:11 -05:00
James Shubin
8207e23cd9
lib: Refactor instantiation of world API
2017-03-07 22:51:11 -05:00
James Shubin
d8e19cd79a
semaphore: Create a semaphore metaparam
...
This adds a P/V style semaphore mechanism to the resource graph. This
enables the user to specify a number of "id:count" tags associated with
each resource which will reduce the parallelism of the CheckApply
operation to that maximum count.
This is particularly interesting because (assuming I'm not mistaken) the
implementation is dead-lock free assuming that no individual resource
permanently ever blocks during execution! I don't have a formal proof of
this, but I was able to convince myself on paper that it was the case.
An actual proof that N P/V counting semaphores in a DAG won't ever
dead-lock would be particularly welcome! Hint: the trick is to acquire
them in alphabetical order while respecting the DAG flow. Disclaimer,
this assumes that the lock count is always > 0 of course.
2017-02-27 02:57:06 -05:00
Julien Pivotto
7d92ab335a
prometheus: Add mgmt_pgraph_start_time_seconds metric
...
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu >
2017-02-26 15:28:43 +01:00
James Shubin
98bc96c911
golint: Fixup issues found in the report
...
This also increases the max allowed to 5% -- I'm happy to make this
lower if someone asks.
2017-02-22 22:18:55 -05:00
James Shubin
e070a85ae0
lib: Misc cleanups and new log message
2017-02-22 17:45:16 -05:00
James Shubin
2da21f90f4
pgraph, resources: Improve Init/Close and Worker status
...
This should do some rough cleanups around the Init/Close of resources,
and tracking of Worker function status.
2017-02-21 18:42:07 -05:00
James Shubin
a981cfa053
legal: Oh yeah, it is 2017
2017-02-16 01:34:32 -05:00
James Shubin
35d3328e3e
etcd: Remove stuttering in package
...
This is a good first step to cleaning up the package.
2017-02-12 22:51:46 -05:00
Julien Pivotto
e8855f7621
prometheus: Implement mgmt_checkapply_total metric
...
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu >
2017-02-12 23:45:47 +01:00
Julien Pivotto
1af67e72d4
prometheus: Implement basic Prometheus support
...
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu >
2017-02-08 12:13:33 +01:00
James Shubin
62c3add888
lib: Make initial one-shot start pattern more elegant
...
This should do the same thing, in a more elegant and efficient way.
2017-02-05 19:00:14 -05:00
James Shubin
2c8c9264a4
pgraph: Simplify graph exit waiting
...
I think the vertex resource exiting can be done in a single stage
instead of the previous two stage exit.
2016-12-20 05:49:17 -05:00
James Shubin
dd8d17232f
pgraph: Build the sync group into the graph structure
...
This hides the sync/wait logic inside the graph itself.
2016-12-20 05:49:17 -05:00
James Shubin
6312b9225f
gapi: Rename SwitchStream to Next
...
This is more concise and I think more logical. Complains welcome!
2016-12-20 05:49:17 -05:00
James Shubin
4803be1987
misc: Rename mgmtmain to lib and remove global package
...
This refactor should make it cleaner to use mgmt.
2016-12-08 23:31:45 -05:00