Skip to content

Commit

Permalink
Merge pull request #2 from scottopell/feat/use-dd-renderstatus
Browse files Browse the repository at this point in the history
Removes local templates and adds dependency on dd-agent commit with public Render functions
  • Loading branch information
scottopell committed Mar 22, 2023
2 parents d58e708 + 3ddfd07 commit 4efd91a
Show file tree
Hide file tree
Showing 8 changed files with 616 additions and 1,056 deletions.
1 change: 1 addition & 0 deletions datafetcher.go
Expand Up @@ -60,6 +60,7 @@ func NewAgentDataFetcher() *AgentDataFetcher {
runningAgent, err := DiscoverRunningAgent()
if err != nil {
log.Print("Failed to find running agent with valid config. Err: ", err)
return nil
} else {
if !df.testAuthToken(runningAgent.authToken) {
log.Printf("Running agent's auth-token fetch failed! Something is wrong... falling back to legacy codepath")
Expand Down
284 changes: 160 additions & 124 deletions go.mod

Large diffs are not rendered by default.

935 changes: 451 additions & 484 deletions go.sum

Large diffs are not rendered by default.

32 changes: 4 additions & 28 deletions overview_gui.go
@@ -1,11 +1,7 @@
package main

import (
"embed"
"fmt"
"io"
"path"
"text/template"

"code.rocketnine.space/tslocum/cview"
"github.com/DataDog/datadog-agent/pkg/status"
Expand All @@ -24,40 +20,20 @@ type OverviewPage struct {
newDataChan chan OverviewPageProps
}

//go:embed templates
var templatesFS embed.FS

var fmap = status.Textfmap()

// Copy-Pasta from ./pkg/status/render.go
// TODO - re-use this function _and_ the templates
func renderStatusTemplate(w io.Writer, templateName string, stats interface{}) {
tmpl, tmplErr := templatesFS.ReadFile(path.Join("templates", templateName))
if tmplErr != nil {
fmt.Println(tmplErr)
return
}
t := template.Must(template.New(templateName).Funcs(fmap).Parse(string(tmpl)))
err := t.Execute(w, stats)
if err != nil {
fmt.Println(err)
}
}

func (op *OverviewPage) updateAggregatorTextView(statusObj map[string]any) {
tv := op.aggregatorTextView
tv.Clear()
aggregator := statusObj["aggregatorStats"].(map[string]any)

renderStatusTemplate(tv, "/aggregator.tmpl", aggregator)
status.RenderStatusTemplate(tv, "/aggregator.tmpl", aggregator)
}

func (op *OverviewPage) updateDogstatsdTextView(statusObj map[string]any) {
tv := op.dogstatsdTextView
tv.Clear()
aggregator := statusObj["dogstatsdStats"].(map[string]any)

renderStatusTemplate(tv, "/dogstatsd.tmpl", aggregator)
status.RenderStatusTemplate(tv, "/dogstatsd.tmpl", aggregator)
}

func (op *OverviewPage) updateMetadataTextView(statusObj map[string]any) {
Expand All @@ -67,15 +43,15 @@ func (op *OverviewPage) updateMetadataTextView(statusObj map[string]any) {
title := fmt.Sprintf("Agent (v%s)", statusObj["version"])
statusObj["title"] = title

renderStatusTemplate(tv, "/header.tmpl", statusObj)
status.RenderStatusTemplate(tv, "/header.tmpl", statusObj)
}

func (op *OverviewPage) updateLogTextView(statusObj map[string]any) {
tv := op.logsTextView
tv.Clear()
logs := statusObj["logsStats"].(map[string]any)

renderStatusTemplate(tv, "/logsagent.tmpl", logs)
status.RenderStatusTemplate(tv, "/logsagent.tmpl", logs)
}

func (op *OverviewPage) updatePanels(props OverviewPageProps) {
Expand Down
57 changes: 0 additions & 57 deletions templates/aggregator.tmpl

This file was deleted.

10 changes: 0 additions & 10 deletions templates/dogstatsd.tmpl

This file was deleted.

0 comments on commit 4efd91a

Please sign in to comment.