| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package modelse
- import "time"
- const (
- APP_NAME = "app_name"
- APP_ID = "app_id"
- AGENT_ID = "agent_id"
- INSTANCE_ID = "instance_id"
- )
- type APP_TYPE int
- const (
- APP_WAIT APP_TYPE = iota
- APP_SUCCESS
- APP_UPROBE_ERROR
- APP_STACK_ERROR
- APP_UNINSTALL
- APP_UNINSTALL_ERROR
- APP_FUSE
- APP_FUSE_ERROR
- )
- func (s APP_TYPE) Error() APP_TYPE {
- switch s {
- case APP_UNINSTALL:
- return APP_UNINSTALL_ERROR
- case APP_FUSE:
- return APP_FUSE_ERROR
- default:
- return APP_UPROBE_ERROR
- }
- }
- func (s APP_TYPE) IsSuccess() bool {
- if s == APP_SUCCESS {
- return true
- }
- return false
- }
- func (s APP_TYPE) IsError() bool {
- switch s {
- case APP_UNINSTALL_ERROR:
- case APP_FUSE_ERROR:
- case APP_UPROBE_ERROR:
- return true
- default:
- return false
- }
- return false
- }
- func (s APP_TYPE) String() string {
- switch s {
- case APP_SUCCESS:
- return "SUCCESS"
- case APP_UPROBE_ERROR:
- return "UPROBE ERROR"
- case APP_UNINSTALL:
- return "UNINSTALL"
- case APP_FUSE:
- return "FUSE"
- default:
- return "-"
- }
- }
- type AppInfo struct {
- AppName string `json:"app_name"`
- AppIdHash INT_HASH_ID `json:"app_id_hash"`
- InstanceIdHash INT_HASH_ID `json:"instance_id_hash"`
- AgentId int64 `json:"agent_id"`
- Sn string `json:"sn"`
- Sport int `json:"sport"`
- ServiceType string `json:"service_name"`
- CodeType CodeType `json:"code_type"`
- EBPFProcInfo *EbpfProcInfo `json:"ebpf_proc_info"`
- RegisterAt int64 `json:"register_at"`
- UpdateAt int64 `json:"update_at"`
- PreStatus APP_TYPE `json:"pre_status"`
- Status APP_TYPE `json:"status"`
- Version string `json:"version"`
- GoProcCache ProcOnce `json:"go_proc_cache"`
- }
- type ProcOnce struct {
- StartAddr uint64 `json:"start_addr"`
- EndAddr uint64 `json:"end_addr"`
- }
- func (a *AppInfo) UpdateAtTime() {
- a.UpdateAt = time.Now().Unix()
- }
- func (a *AppInfo) SetAppStatus(status APP_TYPE) {
- a.PreStatus = a.Status
- a.Status = status
- a.UpdateAtTime()
- }
- func (a *AppInfo) SetAppSuccess() {
- if !a.Status.IsSuccess() {
- a.SetAppStatus(APP_SUCCESS)
- }
- }
- func (a *AppInfo) SetAppStackError() {
- a.SetAppStatus(APP_STACK_ERROR)
- }
- func (a *AppInfo) AppUninstall() {
- a.SetAppStatus(APP_UNINSTALL)
- }
|