Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(agent): agent development #3081

Merged
merged 21 commits into from Aug 31, 2023
Merged

feat(agent): agent development #3081

merged 21 commits into from Aug 31, 2023

Conversation

mathnogueira
Copy link
Member

This PR adds the initial agent structure with most of the flows implemented. Still some things to be done after we have a working control plane

Checklist

  • tested locally
  • added new dependencies
  • updated the docs
  • added a test

mathnogueira and others added 18 commits August 18, 2023 17:05
* feat: add structure for agent

* add short and long description for agent command

* fix build

* add go.work
…2970)

* wip: connect to grpc server

* feat: add connection workflow

* add protobuf for trigger request

* add flow to receive trigger requests

* add comments and rename files

* cleanup makefile

* configure CI to run agent tests

* fix makefile

* add flow for sending trigger result back to the server
* add flow for listening for polling requests

* feat: send spans to server
* feat: add empty trigger worker

* move executor/trigger package to agent and adapt it

* adapt test

* implement trigger

* test trigger flow

* send trigger response to server

* add TODO
* feat: implement trace polling on agent

* initialize polling worker on agent start

* pass worker functions directly to client hooks
* feat: add otlp and http servers with no operation yet

* feat: implement a very basic collector in the agent

* remove tracer from otlp_server structure

* Update agent/collector/http_server.go

Co-authored-by: Daniel Baptista Dias <danielbdias@users.noreply.github.com>

* Update agent/collector/http_server.go

Co-authored-by: Daniel Baptista Dias <danielbdias@users.noreply.github.com>

* reuse otlp servers

* apply daniel's comments to the otlp server code

* remove dependency on ioutil from http otlp server

* delete http server from agent collector

* make collector ingester use otlp ingester interface

---------

Co-authored-by: Daniel Baptista Dias <danielbdias@users.noreply.github.com>
* shutdown agent when receive shutdown request

* remove unused function

* fix brittle test

* centrilize stop function
feat: add agent identification to agent client proto
fix(agent): rename traceid response property to traceid
* feat(agent): inject env variables in agent configuration

* add tests to cover all config values are configurable via env vars

* add log at startup and set hostname as default agent name

* remove dev mode config

* fix config defaults test
feat(agent): make agent wait until connection end

This prevents the agent from exiting right after connecting to the
server
@mathnogueira mathnogueira changed the title feat(agent): add initial agent development feat(agent): agent development Aug 30, 2023
@mathnogueira mathnogueira merged commit df2f7c1 into main Aug 31, 2023
31 checks passed
@mathnogueira mathnogueira deleted the feat/agent branch August 31, 2023 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants