Skip to content
This repository has been archived by the owner on Jun 6, 2024. It is now read-only.

Commit

Permalink
feat: add evaluation duration
Browse files Browse the repository at this point in the history
  • Loading branch information
shmuelsa committed May 1, 2022
1 parent a18dac8 commit d212830
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 16 deletions.
12 changes: 7 additions & 5 deletions bl/evaluation/evaluator.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ type EvaluationRequestData struct {
FailedYamlFiles []string
FailedK8sFiles []string
PolicyCheckResults FailedRulesByFiles
EvaluationDuration float64
}

var OSInfoFn = NewOSInfo
Expand All @@ -79,11 +80,12 @@ func (e *Evaluator) SendEvaluationResult(evaluationRequestData EvaluationRequest
Token: evaluationRequestData.Token,
PolicyName: evaluationRequestData.PolicyName,
Metadata: &cliClient.Metadata{
CliVersion: evaluationRequestData.CliVersion,
Os: osInfo.OS,
PlatformVersion: osInfo.PlatformVersion,
KernelVersion: osInfo.KernelVersion,
CIContext: evaluationRequestData.CiContext,
CliVersion: evaluationRequestData.CliVersion,
Os: osInfo.OS,
PlatformVersion: osInfo.PlatformVersion,
KernelVersion: osInfo.KernelVersion,
CIContext: evaluationRequestData.CiContext,
EvaluationDuration: evaluationRequestData.EvaluationDuration,
},
FailedYamlFiles: evaluationRequestData.FailedYamlFiles,
FailedK8sFiles: evaluationRequestData.FailedK8sFiles,
Expand Down
12 changes: 7 additions & 5 deletions bl/evaluation/evaluator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ func TestSendEvaluationResult(t *testing.T) {
FailedYamlFiles: []string{},
FailedK8sFiles: []string{},
PolicyCheckResults: nil,
EvaluationDuration: 0,
}

sendEvaluationResultsResponse, _ := evaluator.SendEvaluationResult(evaluationRequestData)
Expand All @@ -96,11 +97,12 @@ func TestSendEvaluationResult(t *testing.T) {
Token: evaluationRequestData.Token,
PolicyName: evaluationRequestData.PolicyName,
Metadata: &cliClient.Metadata{
CliVersion: evaluationRequestData.CliVersion,
Os: osInfo.OS,
PlatformVersion: osInfo.PlatformVersion,
KernelVersion: osInfo.KernelVersion,
CIContext: evaluationRequestData.CiContext,
CliVersion: evaluationRequestData.CliVersion,
Os: osInfo.OS,
PlatformVersion: osInfo.PlatformVersion,
KernelVersion: osInfo.KernelVersion,
CIContext: evaluationRequestData.CiContext,
EvaluationDuration: evaluationRequestData.EvaluationDuration,
},
FailedYamlFiles: evaluationRequestData.FailedYamlFiles,
FailedK8sFiles: evaluationRequestData.FailedK8sFiles,
Expand Down
7 changes: 6 additions & 1 deletion cmd/test/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"regexp"
"strings"
"sync"
"time"

"github.com/datreeio/datree/bl/evaluation"
"github.com/datreeio/datree/bl/files"
Expand Down Expand Up @@ -406,6 +407,7 @@ type EvaluationResultData struct {
}

func evaluate(ctx *TestCommandContext, filesPaths []string, prerunData *TestCommandData) (EvaluationResultData, error) {
startEvaluationTime := time.Now()
isInteractiveMode := !evaluation.IsFormattedOutputOption(prerunData.Output)

var _spinner *spinner.Spinner
Expand Down Expand Up @@ -495,7 +497,8 @@ func evaluate(ctx *TestCommandContext, filesPaths []string, prerunData *TestComm
}

ciContext := ciContext.Extract()

endEvaluationTime := time.Now()
evaluationDuration := endEvaluationTime.Sub(startEvaluationTime).Seconds()
evaluationRequestData := evaluation.EvaluationRequestData{
Token: prerunData.Token,
ClientId: prerunData.ClientId,
Expand All @@ -508,7 +511,9 @@ func evaluate(ctx *TestCommandContext, filesPaths []string, prerunData *TestComm
FailedYamlFiles: failedYamlFiles,
FailedK8sFiles: failedK8sFiles,
PolicyCheckResults: policyCheckResultData.RawResults,
EvaluationDuration: evaluationDuration,
}

sendEvaluationResultsResponse, err := ctx.Evaluator.SendEvaluationResult(evaluationRequestData)

if err != nil {
Expand Down
11 changes: 6 additions & 5 deletions pkg/cliClient/evaluation.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ import (
)

type Metadata struct {
CliVersion string `json:"cliVersion"`
Os string `json:"os"`
PlatformVersion string `json:"platformVersion"`
KernelVersion string `json:"kernelVersion"`
CIContext *ciContext.CIContext `json:"ciContext"`
CliVersion string `json:"cliVersion"`
Os string `json:"os"`
PlatformVersion string `json:"platformVersion"`
KernelVersion string `json:"kernelVersion"`
CIContext *ciContext.CIContext `json:"ciContext"`
EvaluationDuration float64 `json:"evaluationDuration"`
}

type SendEvaluationResultsResponse struct {
Expand Down

0 comments on commit d212830

Please sign in to comment.