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

Telemetry Database Handler Requirements #201

Open
jacoffey3 opened this issue Oct 9, 2017 · 9 comments
Open

Telemetry Database Handler Requirements #201

jacoffey3 opened this issue Oct 9, 2017 · 9 comments
Assignees

Comments

@jacoffey3
Copy link
Contributor

jacoffey3 commented Oct 9, 2017

What does a telemetry DB handler need to do?

  • Write telem API
  • Define new telemetry items when they are received
  • Manage the memory usage
    • Hard maximum limit
    • Rolling cleanup on all items (typically persist values for 2 weeks maximum)
  • Create and send Health and Status beacon to the radio periodically
    • Control the frequency of this
    • Most recent values only
    • Control what items are included dynamically
  • Receive IP messages
  • Monitor and log system events
    • Anytime an event happens on the system, it should be logged. It listens to everything.
  • Process log requests
    • Handle incoming GraphQL requests
    • Stream telemetry to the source based on the request
  • Telemetry categorization
    • Critical, nominal, debug
    • By subsystem
@jacoffey3
Copy link
Contributor Author

@plauche
Copy link
Contributor

plauche commented Oct 10, 2017

  • What does "define new telemetry items" mean?
  • Log requests - Is this the same as a request for telemetry?

@jacoffey3
Copy link
Contributor Author

"define new telemetry items" means I want to store a new telemetry item. Basically, I'm integrating a payload, and I want to start storing the internal temperature of that payload. We need a way to put it in the right place and be handled properly.

basically, just bulk telemetry

@CatGarab
Copy link
Contributor

Receive IP Messages - From where and about what?

Telemetry categorization - Could the subsystem include the level of importance as a field in the telemetry message it sends? Unless you mean "for this subsystem, only store telemetry messages that are informational level or higher"

@plauche plauche changed the title Telemetry Database Requirements Telemetry Database Handler Requirements Oct 12, 2017
@jacoffey3
Copy link
Contributor Author

IP - Basically GraphQL requests for telemetry and new telemetry items to log. So from everywhere.

No, because you can have subsystem items that are more/less important, and you want to log everything on the spacecraft. Importance is only used to figure out what we want to downlink.

@CatGarab
Copy link
Contributor

Additional potential work item: periodically do SQLite integrity check or quick check to check for database corruption

@CatGarab
Copy link
Contributor

Also: log database errors to somewhere

@jacoffey3
Copy link
Contributor Author

Yes to both of those!

@jacoffey3
Copy link
Contributor Author

Must autoboot....

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

No branches or pull requests

5 participants