Skip to content

Commit fb261e8

Browse files
Version 1.0.0
0 parents  commit fb261e8

135 files changed

Lines changed: 15062 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.idea
2+
*.iml
3+
build
4+
dist
5+
out
6+
node_modules

.reviewboardrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
REPOSITORY="parseq"

CHANGELOG

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
v1.0.0
2+
======
3+
4+
* Minor performance improvements.
5+
6+
v0.4.5
7+
======
8+
9+
* Add visualization support to hide all parent tasks.
10+
* PromiseListener.onResolved(..) now has the Promise that was completed as a
11+
parameter.
12+
13+
v0.4.4
14+
======
15+
16+
* Trace output now contains relationship of potential parents. A potential
17+
parent relationship is defined as a parent task running a child task that has
18+
already been completed.
19+
* Dag visualization now includes:
20+
* Dash edge between a potential parent to an potential child task.
21+
* Dash edge between a predecessor to a successor task that has been
22+
completed.
23+
* Solid edge between a potential parent to an potential child sink task.
24+
25+
v0.4.3
26+
======
27+
28+
* No changes
29+
30+
v0.4.2
31+
======
32+
33+
* Dist target now includes a tarball for tracevis.
34+
* Added support for system hidden task with support for visualization. User
35+
defined hidden task should use ShallowTrace.setHidden(...).
36+
37+
v0.4.1
38+
======
39+
40+
* Misc code hygiene improvements
41+
42+
v0.4.0
43+
======
44+
45+
* BACKWARD INCOMPATIBLE:
46+
* Removed Tasks.async. Use BaseTask instead.
47+
* Renamed Tasks.sync to Tasks.callable.
48+
* Removed Tasks.value which was only used for test purposes.
49+
* Removed getStartNanos() and getEndNanos() from Task. Instead use
50+
Task.getShallowTrace() which returns a ShallowTrace that contains the
51+
getStartNanos() and getEndNanos().
52+
* Engine creation has changed:
53+
* Replace:
54+
new Engine(taskExecutor, timerExecutor)
55+
* With:
56+
new EngineBuilder()
57+
.setTaskExecutor(taskExecutor)
58+
.setTimerExecutor(timerExecutor)
59+
.build();
60+
* Engine.awaitTermination(...) provides a mechanism to wait for the engine
61+
to shutdown.
62+
* Visualization improvements / fixes:
63+
* Table: use a textarea for values
64+
* Waterfall: use nanosecond precision for laying out bars
65+
* Don't include value.toString() in task name for value task.
66+
* Logging
67+
* We now provide three loggers to collect task information at runtime:
68+
* com.linkedin.parseq.Engine:all - logs all tasks
69+
* com.linkedin.parseq.Engine:root - logs root tasks only
70+
* com.linkedin.parseq.Engine:planClass=xyz - When xyz is a root
71+
class it and all of its descendants are logged.
72+
* We provide two log levels with these loggers:
73+
* DEBUG - logs task name and result type
74+
* TRACE - logs task name, result type, and value
75+
* Added Tasks.seq to support Iterable<Tasks<?>> as a parameter.
76+
* Added support for hidden trace to indicate if it should be displayed in
77+
the visualization.
78+
* Added attributes to trace such that additional information can be added.
79+
* Added TraceBuilder to support customize Trace information.
80+
81+
v0.3.0
82+
======
83+
84+
* Added support for priorities to Tasks. Task priorities only influence
85+
ordering in a particular context.
86+
* Remove the existing waterfall trace visualization and replace it with a
87+
more scalable and interactive javascript visualization.
88+
* Rename BaseTask.run(...) to BaseTask.contextRun(...) and
89+
BaseTask.doRun(...) to BaseTask.run(...) to better match the method
90+
purpose.
91+
* Replace existing trace printers with javascript based equivalents.
92+
* Dag trace now includes the start time of the task.
93+
* Added par(Iterable<Task<T>> tasks) to the Tasks class. The new par(...) will
94+
return the result of each of the supplied tasks. The ParTask will fail
95+
if any of the executed task fails. Additional methods are available for
96+
ParTask:
97+
* getTasks() for the set of tasks related to ParTask.
98+
* getSuccessful() to get the values of successfully executed tasks.
99+
* Updated par(...) to return ParTask.
100+
101+
v0.2.1
102+
======
103+
104+
* Misc code hygiene improvements
105+
106+
v0.2.0
107+
======
108+
109+
* Trace improvements
110+
* Rename TaskTrace to Trace
111+
* Move JsonTraceCodec to com.linkedin.parseq.trace.codec.json
112+
* Move trace printers to com.linkedin.parseq.trace.printer
113+
* More compact JSON serialization for traces:
114+
* Don't include null or empty fields
115+
* Render each trace once
116+
* Set up edges independently of the traces
117+
* Tasks now use null to indicate no value for startNanos and endNanos
118+
* Traces are now fully immutable and thread-safe. Use TraceBuilders to
119+
create new traces or to copy and edit existing ones.
120+
121+
* Task construction improvments
122+
* Remove TaskDefs (use Tasks.action, Tasks.sync, Tasks.async, and new
123+
BaseTask()) in their place
124+
* Added ValueTask - returns a pre-determined value upon execution
125+
* Remove Named. The Tasks factory methods take a name and Task has a
126+
constructor that takes a name. If the empty Task constructor is used
127+
then getName() will return the value of toString() unless it has been
128+
overridden.
129+
130+
v0.1.0
131+
======
132+
133+
* Promises and Tasks now take Throwables instead of Exceptions. This
134+
provides better interoperability with frameworks like Pegasus and Play.
135+
* Trace creation has changed:
136+
* Old: TaskTraces.convertToTaskTrace(trace)
137+
* New: task.getTrace()
138+
* Remove/rename "assembler"
139+
* Move com.linkedin.parseq.assembler.trace to com.linkedin.parseq.trace
140+
* Move all classes in com.linkedin.parseq.assember to com.linkedin.parseq
141+
* Rename Assembler to Engine
142+
* Replace references to "assembler" with "engine"

0 commit comments

Comments
 (0)