public string ToHtml() { var table = new TableTag(); table.AddClass("table"); table.AddClass("table-striped"); table.AddHeaderRow(row => { row.Header("Details"); row.Header("Duration (ms)"); row.Header("Method"); row.Header("Endpoint"); row.Header("Status"); row.Header("Content Type"); }); _logs.Each(log => { var url = _system.Application.RootUrl.TrimEnd('/') + "/_fubu/#/fubumvc/request-details/" + log.Id; table.AddBodyRow(row => { row.Cell().Add("a").Text("Details").Attr("href", url).Attr("target", "_blank"); row.Cell(log.ExecutionTime.ToString()).Attr("align", "right"); row.Cell(log.HttpMethod); row.Cell(log.Endpoint); row.Cell(log.StatusCode.ToString()); row.Cell(log.ContentType); }); }); return(table.ToString()); }
public HtmlTag get_tasks() { var peers = _repository.FindPeers(); var cache = new Cache <Uri, TransportNode>(); peers.Each(peer => peer.OwnedTasks.Each(x => cache[x] = peer)); var tag = new HtmlTag("div"); tag.Add("h1").Text("Task Assignements"); var table = new TableTag(); tag.Append(table); table.AddClass("table"); table.AddHeaderRow(row => { row.Header("Task"); row.Header("Assigned to"); row.Header("Control Channel"); }); var tasks = _tasks.PermanentTasks().Union(_tasks.ActiveTasks()).ToArray(); tasks.Each(uri => { table.AddBodyRow(row => addRow(row, uri, cache)); }); return(tag); }
private HtmlTag toMessageTable() { var table = new TableTag(); table.AddClass("table").AddClass("table-striped"); table.AddHeaderRow(row => { row.Header("Time").Attr("title", "This is the time in milliseconds since the specification started running that this message was first logged"); row.Header("Correlation Id"); row.Header("Message Type"); row.Header("Details"); }); foreach (var history in _envelopes) { table.AddBodyRow(row => { row.Cell(history.Time.ToString()).Style("text-align", "right"); row.Cell(history.CorrelationId.ToString()); row.Cell(history.MessageType); row.Add("td/a").Text("details").Attr("href", "#message-" + history.CorrelationId); }); } return(table); }
public HttpRequestReport() { _table.AddClass("table"); _table.AddHeaderRow(row => { row.Header("Url"); row.Header("Status Code"); row.Header("Duration"); row.Header("Request Headers"); row.Header("Response Headers"); }); }
private static TableTag buildTable() { var table = new TableTag(); table.AddClass("table table-striped table-bordered table-condensed"); table.AddHeaderRow(row => { row.Header("Property"); row.Header("Handler"); row.Header("Value(s)"); }); return(table); }
public string ToHtml() { var table = new TableTag(); table.AddClass("table"); table.AddClass("table-striped"); table.AddHeaderRow(row => { row.Header("Details"); row.Header("Duration (ms)"); row.Header("Method"); row.Header("Endpoint"); row.Header("Status"); row.Header("Content Type"); }); _logs.Each(log => { var url = _runtime.BaseAddress.TrimEnd('/') + "/_fubu/#/fubumvc/request-details/" + log.Id; table.AddBodyRow(row => { row.Cell().Add("a").Text("Details").Attr("href", url).Attr("target", "_blank"); row.Cell(log.ExecutionTime.ToString()).Attr("align", "right"); var summary = new HttpRequestSummary(log); row.Cell(summary.method); row.Cell(log.Title()); row.Cell(summary.status.ToString()); row.Cell(summary.contentType); }); }); return(table.ToString()); }
private void writeProperties(Description description) { if (description.Properties.Any()) { var table = new TableTag(); table.AddClass("desc-properties"); description.Properties.Each((key, value) => { table.AddBodyRow(row => { row.Header(key); row.Cell(value); }); }); Append(table); } }
public static TableTag Write(LoggingSession session) { var table = new TableTag(); table.AddClass("table"); table.AddHeaderRow(r => { r.Header("Description"); r.Header("Provenance"); }); session.EachLog((target, log) => { table.AddBodyRow(row => { row.Add("td", td => { td.Append(new HtmlTag("h3").Text("Directive: " + PackagingDiagnostics.GetTypeName(target))); td.Append(new HtmlTag("h5").Text("Desc: " + target.ToString())); var time = new HtmlTag("h6").Text(log.TimeInMilliseconds.ToString() + "ms"); td.Append(time); }); row.Cell(log.Provenance); }); if (log.FullTraceText().IsNotEmpty()) { table.AddBodyRow(row => { row.Cell().Attr("colspan", "2").AddClass("log").Add("pre").Text(log.FullTraceText()); if (!log.Success) { row.AddClass("failure"); } }); } }); return(table); }
// This is the hook that lets you generate raw HTML // that will show up as a tab within the results for a spec string Report.ToHtml() { var table = new TableTag(); table.AddClass("table").AddClass("table-striped"); table.AddHeaderRow(row => { row.Header("Category"); row.Header("Level"); row.Header("Message"); }); foreach (var record in Records) { table.AddBodyRow(row => { row.Cell(record.Category); row.Cell(record.Level); row.Cell(record.Message); }); // Write out the full stack trace if there's an exception if (record.ExceptionText.IsNotEmpty()) { table.AddBodyRow(row => { row.Cell().Attr("colspan", "3").AddClass("bg-warning").Add("pre").AddClass("bg-warning").Text(record.ExceptionText); }); } } return(table.ToString()); }
public HtmlTag ToTableDetails() { var div = new HtmlTag("div"); var headers = new TableTag(); div.Add("h5").Text("Headers"); div.Append(headers); headers.AddClass("table").AddClass("table-striped"); headers.AddHeaderRow(row => { row.Header("Header Key"); row.Header("Header Value"); }); var envelope = Records[0].Envelope; headers.WriteEnvelopeProperty(envelope, x => x.Source); headers.WriteEnvelopeProperty(envelope, x => x.MessageType); headers.WriteEnvelopeProperty(envelope, x => x.ReplyUri); headers.WriteEnvelopeProperty(envelope, x => x.ContentType); headers.WriteEnvelopeProperty(envelope, x => x.CorrelationId); headers.WriteEnvelopeProperty(envelope, x => x.CausationId); // TODO -- come back and add saga id headers.WriteEnvelopeProperty(envelope, x => x.Destination); headers.WriteEnvelopeProperty(envelope, x => x.AcceptedContentTypes); headers.WriteEnvelopeProperty(envelope, x => x.ReplyRequested); headers.WriteEnvelopeProperty(envelope, x => x.AckRequested); headers.WriteEnvelopeProperty(envelope, x => x.ExecutionTime); headers.WriteEnvelopeProperty(envelope, x => x.DeliverBy); headers.WriteEnvelopeProperty(envelope, x => x.ReceivedAt); foreach (var pair in envelope.Headers) { headers.AddBodyRow(row => { row.Cell(pair.Key); row.Cell(pair.Value); }); } var table = new TableTag(); div.Add("h5").Text("Activity"); div.Append(table); table.AddClass("table").AddClass("table-striped"); table.AddHeaderRow(row => { row.Header("Time"); row.Header("Service"); row.Header("Message"); }); foreach (var record in Records) { table.AddBodyRow(row => { row.Cell(record.Time.ToString()).Style("text-align", "right"); row.Cell(record.ServiceName); row.Cell(record.Message); if (record.ExceptionText.IsNotEmpty()) { row.AddClass("bg-warning"); } }); if (record.ExceptionText.IsNotEmpty()) { table.AddBodyRow(row => { row.Attr("colSpan", "3"); row.Add("td/pre").Text(record.ExceptionText); }); } } return(div); }
public HtmlTag ToTableDetails() { var div = new HtmlTag("div"); var headers = new TableTag(); div.Add("h5").Text("Headers"); div.Append(headers); headers.AddClass("table").AddClass("table-striped"); headers.AddHeaderRow(row => { row.Header("Header Key"); row.Header("Header Value"); }); foreach (var pair in Records[0].Envelope.Headers) { headers.AddBodyRow(row => { row.Cell(pair.Key); row.Cell(pair.Value); }); } var table = new TableTag(); div.Add("h5").Text("Activity"); div.Append(table); table.AddClass("table").AddClass("table-striped"); table.AddHeaderRow(row => { row.Header("Time"); row.Header("Service"); row.Header("Message"); }); foreach (var record in Records) { table.AddBodyRow(row => { row.Cell(record.Time.ToString()).Style("text-align", "right"); row.Cell(record.ServiceName); row.Cell(record.Message); if (record.ExceptionText.IsNotEmpty()) { row.AddClass("bg-warning"); } }); if (record.ExceptionText.IsNotEmpty()) { table.AddBodyRow(row => { row.Attr("colSpan", "3"); row.Add("td/pre").Text(record.ExceptionText); }); } } return(div); }