Refactor monitoring of runner and environment id.
This commit is contained in:
@ -92,7 +92,6 @@ func (r *RunnerController) provide(writer http.ResponseWriter, request *http.Req
|
|||||||
// It returns a listing of the file system of the provided runner.
|
// It returns a listing of the file system of the provided runner.
|
||||||
func (r *RunnerController) listFileSystem(writer http.ResponseWriter, request *http.Request) {
|
func (r *RunnerController) listFileSystem(writer http.ResponseWriter, request *http.Request) {
|
||||||
targetRunner, _ := runner.FromContext(request.Context())
|
targetRunner, _ := runner.FromContext(request.Context())
|
||||||
monitoring.AddRunnerMonitoringData(request, targetRunner.ID(), targetRunner.Environment())
|
|
||||||
|
|
||||||
recursiveRaw := request.URL.Query().Get(RecursiveKey)
|
recursiveRaw := request.URL.Query().Get(RecursiveKey)
|
||||||
recursive, err := strconv.ParseBool(recursiveRaw)
|
recursive, err := strconv.ParseBool(recursiveRaw)
|
||||||
@ -131,7 +130,6 @@ func (r *RunnerController) updateFileSystem(writer http.ResponseWriter, request
|
|||||||
}
|
}
|
||||||
|
|
||||||
targetRunner, _ := runner.FromContext(request.Context())
|
targetRunner, _ := runner.FromContext(request.Context())
|
||||||
monitoring.AddRunnerMonitoringData(request, targetRunner.ID(), targetRunner.Environment())
|
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
logging.StartSpan("api.fs.update", "Update File System", request.Context(), func(ctx context.Context) {
|
logging.StartSpan("api.fs.update", "Update File System", request.Context(), func(ctx context.Context) {
|
||||||
@ -148,7 +146,6 @@ func (r *RunnerController) updateFileSystem(writer http.ResponseWriter, request
|
|||||||
|
|
||||||
func (r *RunnerController) fileContent(writer http.ResponseWriter, request *http.Request) {
|
func (r *RunnerController) fileContent(writer http.ResponseWriter, request *http.Request) {
|
||||||
targetRunner, _ := runner.FromContext(request.Context())
|
targetRunner, _ := runner.FromContext(request.Context())
|
||||||
monitoring.AddRunnerMonitoringData(request, targetRunner.ID(), targetRunner.Environment())
|
|
||||||
path := request.URL.Query().Get(PathKey)
|
path := request.URL.Query().Get(PathKey)
|
||||||
privilegedExecution, err := strconv.ParseBool(request.URL.Query().Get(PrivilegedExecutionKey))
|
privilegedExecution, err := strconv.ParseBool(request.URL.Query().Get(PrivilegedExecutionKey))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -190,7 +187,6 @@ func (r *RunnerController) execute(writer http.ResponseWriter, request *http.Req
|
|||||||
scheme = "ws"
|
scheme = "ws"
|
||||||
}
|
}
|
||||||
targetRunner, _ := runner.FromContext(request.Context())
|
targetRunner, _ := runner.FromContext(request.Context())
|
||||||
monitoring.AddRunnerMonitoringData(request, targetRunner.ID(), targetRunner.Environment())
|
|
||||||
|
|
||||||
path, err := r.runnerRouter.Get(WebsocketPath).URL(RunnerIDKey, targetRunner.ID())
|
path, err := r.runnerRouter.Get(WebsocketPath).URL(RunnerIDKey, targetRunner.ID())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -239,6 +235,8 @@ func (r *RunnerController) findRunnerMiddleware(next http.Handler) http.Handler
|
|||||||
ctx = context.WithValue(ctx, dto.ContextKey(dto.KeyRunnerID), targetRunner.ID())
|
ctx = context.WithValue(ctx, dto.ContextKey(dto.KeyRunnerID), targetRunner.ID())
|
||||||
ctx = context.WithValue(ctx, dto.ContextKey(dto.KeyEnvironmentID), targetRunner.Environment().ToString())
|
ctx = context.WithValue(ctx, dto.ContextKey(dto.KeyEnvironmentID), targetRunner.Environment().ToString())
|
||||||
requestWithRunner := request.WithContext(ctx)
|
requestWithRunner := request.WithContext(ctx)
|
||||||
|
monitoring.AddRunnerMonitoringData(requestWithRunner, targetRunner.ID(), targetRunner.Environment())
|
||||||
|
|
||||||
next.ServeHTTP(writer, requestWithRunner)
|
next.ServeHTTP(writer, requestWithRunner)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -247,7 +245,6 @@ func (r *RunnerController) findRunnerMiddleware(next http.Handler) http.Handler
|
|||||||
// It destroys the given runner on the executor and removes it from the used runners list.
|
// It destroys the given runner on the executor and removes it from the used runners list.
|
||||||
func (r *RunnerController) delete(writer http.ResponseWriter, request *http.Request) {
|
func (r *RunnerController) delete(writer http.ResponseWriter, request *http.Request) {
|
||||||
targetRunner, _ := runner.FromContext(request.Context())
|
targetRunner, _ := runner.FromContext(request.Context())
|
||||||
monitoring.AddRunnerMonitoringData(request, targetRunner.ID(), targetRunner.Environment())
|
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
logging.StartSpan("api.runner.delete", "Return Runner", request.Context(), func(ctx context.Context) {
|
logging.StartSpan("api.runner.delete", "Return Runner", request.Context(), func(ctx context.Context) {
|
||||||
|
@ -8,6 +8,7 @@ import (
|
|||||||
"github.com/openHPI/poseidon/internal/nomad"
|
"github.com/openHPI/poseidon/internal/nomad"
|
||||||
"github.com/openHPI/poseidon/internal/runner"
|
"github.com/openHPI/poseidon/internal/runner"
|
||||||
"github.com/openHPI/poseidon/pkg/dto"
|
"github.com/openHPI/poseidon/pkg/dto"
|
||||||
|
"github.com/openHPI/poseidon/pkg/monitoring"
|
||||||
"github.com/openHPI/poseidon/tests"
|
"github.com/openHPI/poseidon/tests"
|
||||||
"github.com/stretchr/testify/mock"
|
"github.com/stretchr/testify/mock"
|
||||||
"github.com/stretchr/testify/suite"
|
"github.com/stretchr/testify/suite"
|
||||||
@ -52,6 +53,7 @@ func (s *MiddlewareTestSuite) SetupTest() {
|
|||||||
}
|
}
|
||||||
s.router = mux.NewRouter()
|
s.router = mux.NewRouter()
|
||||||
runnerController := &RunnerController{s.manager, s.router}
|
runnerController := &RunnerController{s.manager, s.router}
|
||||||
|
s.router.Use(monitoring.InfluxDB2Middleware)
|
||||||
s.router.Use(runnerController.findRunnerMiddleware)
|
s.router.Use(runnerController.findRunnerMiddleware)
|
||||||
s.router.HandleFunc(fmt.Sprintf("/test/{%s}", RunnerIDKey), runnerRouteHandler).Name("test-runner-id")
|
s.router.HandleFunc(fmt.Sprintf("/test/{%s}", RunnerIDKey), runnerRouteHandler).Name("test-runner-id")
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,6 @@ import (
|
|||||||
"github.com/openHPI/poseidon/internal/runner"
|
"github.com/openHPI/poseidon/internal/runner"
|
||||||
"github.com/openHPI/poseidon/pkg/dto"
|
"github.com/openHPI/poseidon/pkg/dto"
|
||||||
"github.com/openHPI/poseidon/pkg/logging"
|
"github.com/openHPI/poseidon/pkg/logging"
|
||||||
"github.com/openHPI/poseidon/pkg/monitoring"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -79,7 +78,6 @@ func (wp *webSocketProxy) waitForExit(exit <-chan runner.ExitInfo, cancelExecuti
|
|||||||
// connectToRunner is the endpoint for websocket connections.
|
// connectToRunner is the endpoint for websocket connections.
|
||||||
func (r *RunnerController) connectToRunner(writer http.ResponseWriter, request *http.Request) {
|
func (r *RunnerController) connectToRunner(writer http.ResponseWriter, request *http.Request) {
|
||||||
targetRunner, _ := runner.FromContext(request.Context())
|
targetRunner, _ := runner.FromContext(request.Context())
|
||||||
monitoring.AddRunnerMonitoringData(request, targetRunner.ID(), targetRunner.Environment())
|
|
||||||
|
|
||||||
executionID := request.URL.Query().Get(ExecutionIDKey)
|
executionID := request.URL.Query().Get(ExecutionIDKey)
|
||||||
if !targetRunner.ExecutionExists(executionID) {
|
if !targetRunner.ExecutionExists(executionID) {
|
||||||
|
Reference in New Issue
Block a user