Clean HTML stuff, add Timeline.WriteHTMLTo #42
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #32
Timeline.WriteHTMLTo
takes aio.Writer
so that it can directlybe used in various cases, for example directly passing an
http.ResponseWriter. Using a writer, many allocations are removed
by directly formatting the output with
fmt.Fprint
, remove the`bytes.Buffer. as well.
Use a
text/template
for HTML generation. Anhtml/template
arevery similar but escapes the strings, and it was not playing
well the JSON marshaling of graph labels, also it is not based on
user input so no risk of code injection.
genGraphHTML
also takes a writer to eliminate more copies.Modify
Timeline.WriteHTML
to keep backward compatibility butmake it use WriteHTMLTo under the hood.
Add
BenchmarkWriteHTMLTo
. In the following benchmarks,old
isa version of
WriteHTMLTo
equivalent to originalWriteHTML
code, present in current master, whereas
new
is this commit.