Skip to content

Commit 6f0373f

Browse files
committed
work on resources monitor
1 parent a5f44aa commit 6f0373f

File tree

59 files changed

+3219
-2827
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+3219
-2827
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1391,8 +1391,8 @@ func (q *querier) FavoriteWorkspace(ctx context.Context, id uuid.UUID) error {
13911391
return update(q.log, q.auth, fetch, q.db.FavoriteWorkspace)(ctx, id)
13921392
}
13931393

1394-
func (q *querier) FetchAgentResourceMonitorsByAgentID(ctx context.Context, agentID uuid.UUID) ([]database.WorkspaceAgentResourceMonitor, error) {
1395-
return q.db.FetchAgentResourceMonitorsByAgentID(ctx, agentID)
1394+
func (q *querier) FetchMemoryResourceMonitorsByAgentID(ctx context.Context, agentID uuid.UUID) (database.WorkspaceAgentMemoryResourceMonitor, error) {
1395+
panic("not implemented")
13961396
}
13971397

13981398
func (q *querier) FetchNewMessageMetadata(ctx context.Context, arg database.FetchNewMessageMetadataParams) (database.FetchNewMessageMetadataRow, error) {
@@ -1402,6 +1402,10 @@ func (q *querier) FetchNewMessageMetadata(ctx context.Context, arg database.Fetc
14021402
return q.db.FetchNewMessageMetadata(ctx, arg)
14031403
}
14041404

1405+
func (q *querier) FetchVolumesResourceMonitorsByAgentID(ctx context.Context, agentID uuid.UUID) ([]database.WorkspaceAgentVolumeResourceMonitor, error) {
1406+
panic("not implemented")
1407+
}
1408+
14051409
func (q *querier) GetAPIKeyByID(ctx context.Context, id string) (database.APIKey, error) {
14061410
return fetch(q.log, q.auth, q.db.GetAPIKeyByID)(ctx, id)
14071411
}
@@ -2993,6 +2997,10 @@ func (q *querier) InsertLicense(ctx context.Context, arg database.InsertLicenseP
29932997
return q.db.InsertLicense(ctx, arg)
29942998
}
29952999

3000+
func (q *querier) InsertMemoryResourceMonitor(ctx context.Context, arg database.InsertMemoryResourceMonitorParams) (database.WorkspaceAgentMemoryResourceMonitor, error) {
3001+
panic("not implemented")
3002+
}
3003+
29963004
func (q *querier) InsertMissingGroups(ctx context.Context, arg database.InsertMissingGroupsParams) ([]database.Group, error) {
29973005
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceSystem); err != nil {
29983006
return nil, err
@@ -3178,6 +3186,10 @@ func (q *querier) InsertUserLink(ctx context.Context, arg database.InsertUserLin
31783186
return q.db.InsertUserLink(ctx, arg)
31793187
}
31803188

3189+
func (q *querier) InsertVolumeResourceMonitor(ctx context.Context, arg database.InsertVolumeResourceMonitorParams) (database.WorkspaceAgentVolumeResourceMonitor, error) {
3190+
panic("not implemented")
3191+
}
3192+
31813193
func (q *querier) InsertWorkspace(ctx context.Context, arg database.InsertWorkspaceParams) (database.WorkspaceTable, error) {
31823194
obj := rbac.ResourceWorkspace.WithOwner(arg.OwnerID.String()).InOrg(arg.OrganizationID)
31833195
tpl, err := q.GetTemplateByID(ctx, arg.TemplateID)
@@ -3218,10 +3230,6 @@ func (q *querier) InsertWorkspaceAgentMetadata(ctx context.Context, arg database
32183230
return q.db.InsertWorkspaceAgentMetadata(ctx, arg)
32193231
}
32203232

3221-
func (q *querier) InsertWorkspaceAgentResourceMonitor(ctx context.Context, arg database.InsertWorkspaceAgentResourceMonitorParams) (database.WorkspaceAgentResourceMonitor, error) {
3222-
return q.db.InsertWorkspaceAgentResourceMonitor(ctx, arg)
3223-
}
3224-
32253233
func (q *querier) InsertWorkspaceAgentScriptTimings(ctx context.Context, arg database.InsertWorkspaceAgentScriptTimingsParams) (database.WorkspaceAgentScriptTiming, error) {
32263234
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceSystem); err != nil {
32273235
return database.WorkspaceAgentScriptTiming{}, err

coderd/database/dbmem/dbmem.go

Lines changed: 76 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -190,57 +190,58 @@ type data struct {
190190
userLinks []database.UserLink
191191

192192
// New tables
193-
auditLogs []database.AuditLog
194-
cryptoKeys []database.CryptoKey
195-
dbcryptKeys []database.DBCryptKey
196-
files []database.File
197-
externalAuthLinks []database.ExternalAuthLink
198-
gitSSHKey []database.GitSSHKey
199-
groupMembers []database.GroupMemberTable
200-
groups []database.Group
201-
jfrogXRayScans []database.JfrogXrayScan
202-
licenses []database.License
203-
notificationMessages []database.NotificationMessage
204-
notificationPreferences []database.NotificationPreference
205-
notificationReportGeneratorLogs []database.NotificationReportGeneratorLog
206-
oauth2ProviderApps []database.OAuth2ProviderApp
207-
oauth2ProviderAppSecrets []database.OAuth2ProviderAppSecret
208-
oauth2ProviderAppCodes []database.OAuth2ProviderAppCode
209-
oauth2ProviderAppTokens []database.OAuth2ProviderAppToken
210-
parameterSchemas []database.ParameterSchema
211-
provisionerDaemons []database.ProvisionerDaemon
212-
provisionerJobLogs []database.ProvisionerJobLog
213-
provisionerJobs []database.ProvisionerJob
214-
provisionerKeys []database.ProvisionerKey
215-
replicas []database.Replica
216-
templateVersions []database.TemplateVersionTable
217-
templateVersionParameters []database.TemplateVersionParameter
218-
templateVersionVariables []database.TemplateVersionVariable
219-
templateVersionWorkspaceTags []database.TemplateVersionWorkspaceTag
220-
templates []database.TemplateTable
221-
templateUsageStats []database.TemplateUsageStat
222-
workspaceAgents []database.WorkspaceAgent
223-
workspaceAgentMetadata []database.WorkspaceAgentMetadatum
224-
workspaceAgentLogs []database.WorkspaceAgentLog
225-
workspaceAgentLogSources []database.WorkspaceAgentLogSource
226-
workspaceAgentPortShares []database.WorkspaceAgentPortShare
227-
workspaceAgentScriptTimings []database.WorkspaceAgentScriptTiming
228-
workspaceAgentScripts []database.WorkspaceAgentScript
229-
workspaceAgentStats []database.WorkspaceAgentStat
230-
workspaceAgentResourceMonitors []database.WorkspaceAgentResourceMonitor
231-
workspaceApps []database.WorkspaceApp
232-
workspaceAppStatsLastInsertID int64
233-
workspaceAppStats []database.WorkspaceAppStat
234-
workspaceBuilds []database.WorkspaceBuild
235-
workspaceBuildParameters []database.WorkspaceBuildParameter
236-
workspaceResourceMetadata []database.WorkspaceResourceMetadatum
237-
workspaceResources []database.WorkspaceResource
238-
workspaceModules []database.WorkspaceModule
239-
workspaces []database.WorkspaceTable
240-
workspaceProxies []database.WorkspaceProxy
241-
customRoles []database.CustomRole
242-
provisionerJobTimings []database.ProvisionerJobTiming
243-
runtimeConfig map[string]string
193+
auditLogs []database.AuditLog
194+
cryptoKeys []database.CryptoKey
195+
dbcryptKeys []database.DBCryptKey
196+
files []database.File
197+
externalAuthLinks []database.ExternalAuthLink
198+
gitSSHKey []database.GitSSHKey
199+
groupMembers []database.GroupMemberTable
200+
groups []database.Group
201+
jfrogXRayScans []database.JfrogXrayScan
202+
licenses []database.License
203+
notificationMessages []database.NotificationMessage
204+
notificationPreferences []database.NotificationPreference
205+
notificationReportGeneratorLogs []database.NotificationReportGeneratorLog
206+
oauth2ProviderApps []database.OAuth2ProviderApp
207+
oauth2ProviderAppSecrets []database.OAuth2ProviderAppSecret
208+
oauth2ProviderAppCodes []database.OAuth2ProviderAppCode
209+
oauth2ProviderAppTokens []database.OAuth2ProviderAppToken
210+
parameterSchemas []database.ParameterSchema
211+
provisionerDaemons []database.ProvisionerDaemon
212+
provisionerJobLogs []database.ProvisionerJobLog
213+
provisionerJobs []database.ProvisionerJob
214+
provisionerKeys []database.ProvisionerKey
215+
replicas []database.Replica
216+
templateVersions []database.TemplateVersionTable
217+
templateVersionParameters []database.TemplateVersionParameter
218+
templateVersionVariables []database.TemplateVersionVariable
219+
templateVersionWorkspaceTags []database.TemplateVersionWorkspaceTag
220+
templates []database.TemplateTable
221+
templateUsageStats []database.TemplateUsageStat
222+
workspaceAgents []database.WorkspaceAgent
223+
workspaceAgentMetadata []database.WorkspaceAgentMetadatum
224+
workspaceAgentLogs []database.WorkspaceAgentLog
225+
workspaceAgentLogSources []database.WorkspaceAgentLogSource
226+
workspaceAgentPortShares []database.WorkspaceAgentPortShare
227+
workspaceAgentScriptTimings []database.WorkspaceAgentScriptTiming
228+
workspaceAgentScripts []database.WorkspaceAgentScript
229+
workspaceAgentStats []database.WorkspaceAgentStat
230+
workspaceAgentMemoryResourceMonitors []database.WorkspaceAgentMemoryResourceMonitor
231+
workspaceAgentVolumeResourceMonitors []database.WorkspaceAgentVolumeResourceMonitor
232+
workspaceApps []database.WorkspaceApp
233+
workspaceAppStatsLastInsertID int64
234+
workspaceAppStats []database.WorkspaceAppStat
235+
workspaceBuilds []database.WorkspaceBuild
236+
workspaceBuildParameters []database.WorkspaceBuildParameter
237+
workspaceResourceMetadata []database.WorkspaceResourceMetadatum
238+
workspaceResources []database.WorkspaceResource
239+
workspaceModules []database.WorkspaceModule
240+
workspaces []database.WorkspaceTable
241+
workspaceProxies []database.WorkspaceProxy
242+
customRoles []database.CustomRole
243+
provisionerJobTimings []database.ProvisionerJobTiming
244+
runtimeConfig map[string]string
244245
// Locks is a map of lock names. Any keys within the map are currently
245246
// locked.
246247
locks map[int64]struct{}
@@ -2356,18 +2357,8 @@ func (q *FakeQuerier) FavoriteWorkspace(_ context.Context, arg uuid.UUID) error
23562357
return nil
23572358
}
23582359

2359-
func (q *FakeQuerier) FetchAgentResourceMonitorsByAgentID(_ context.Context, agentID uuid.UUID) ([]database.WorkspaceAgentResourceMonitor, error) {
2360-
q.mutex.RLock()
2361-
defer q.mutex.RUnlock()
2362-
2363-
monitors := make([]database.WorkspaceAgentResourceMonitor, 0)
2364-
for _, monitor := range q.workspaceAgentResourceMonitors {
2365-
if monitor.AgentID == agentID {
2366-
monitors = append(monitors, monitor)
2367-
}
2368-
}
2369-
2370-
return monitors, nil
2360+
func (q *FakeQuerier) FetchMemoryResourceMonitorsByAgentID(ctx context.Context, agentID uuid.UUID) (database.WorkspaceAgentMemoryResourceMonitor, error) {
2361+
panic("not implemented")
23712362
}
23722363

23732364
func (q *FakeQuerier) FetchNewMessageMetadata(_ context.Context, arg database.FetchNewMessageMetadataParams) (database.FetchNewMessageMetadataRow, error) {
@@ -2402,6 +2393,10 @@ func (q *FakeQuerier) FetchNewMessageMetadata(_ context.Context, arg database.Fe
24022393
}, nil
24032394
}
24042395

2396+
func (q *FakeQuerier) FetchVolumesResourceMonitorsByAgentID(ctx context.Context, agentID uuid.UUID) ([]database.WorkspaceAgentVolumeResourceMonitor, error) {
2397+
panic("not implemented")
2398+
}
2399+
24052400
func (q *FakeQuerier) GetAPIKeyByID(_ context.Context, id string) (database.APIKey, error) {
24062401
q.mutex.RLock()
24072402
defer q.mutex.RUnlock()
@@ -7791,6 +7786,15 @@ func (q *FakeQuerier) InsertLicense(
77917786
return l, nil
77927787
}
77937788

7789+
func (q *FakeQuerier) InsertMemoryResourceMonitor(ctx context.Context, arg database.InsertMemoryResourceMonitorParams) (database.WorkspaceAgentMemoryResourceMonitor, error) {
7790+
err := validateDatabaseType(arg)
7791+
if err != nil {
7792+
return database.WorkspaceAgentMemoryResourceMonitor{}, err
7793+
}
7794+
7795+
panic("not implemented")
7796+
}
7797+
77947798
func (q *FakeQuerier) InsertMissingGroups(_ context.Context, arg database.InsertMissingGroupsParams) ([]database.Group, error) {
77957799
err := validateDatabaseType(arg)
77967800
if err != nil {
@@ -8394,6 +8398,15 @@ func (q *FakeQuerier) InsertUserLink(_ context.Context, args database.InsertUser
83948398
return link, nil
83958399
}
83968400

8401+
func (q *FakeQuerier) InsertVolumeResourceMonitor(ctx context.Context, arg database.InsertVolumeResourceMonitorParams) (database.WorkspaceAgentVolumeResourceMonitor, error) {
8402+
err := validateDatabaseType(arg)
8403+
if err != nil {
8404+
return database.WorkspaceAgentVolumeResourceMonitor{}, err
8405+
}
8406+
8407+
panic("not implemented")
8408+
}
8409+
83978410
func (q *FakeQuerier) InsertWorkspace(_ context.Context, arg database.InsertWorkspaceParams) (database.WorkspaceTable, error) {
83988411
if err := validateDatabaseType(arg); err != nil {
83998412
return database.WorkspaceTable{}, err
@@ -8543,22 +8556,6 @@ func (q *FakeQuerier) InsertWorkspaceAgentMetadata(_ context.Context, arg databa
85438556
return nil
85448557
}
85458558

8546-
func (q *FakeQuerier) InsertWorkspaceAgentResourceMonitor(_ context.Context, arg database.InsertWorkspaceAgentResourceMonitorParams) (database.WorkspaceAgentResourceMonitor, error) {
8547-
err := validateDatabaseType(arg)
8548-
if err != nil {
8549-
return database.WorkspaceAgentResourceMonitor{}, err
8550-
}
8551-
8552-
q.mutex.Lock()
8553-
defer q.mutex.Unlock()
8554-
8555-
monitor := database.WorkspaceAgentResourceMonitor(arg)
8556-
8557-
q.workspaceAgentResourceMonitors = append(q.workspaceAgentResourceMonitors, monitor)
8558-
8559-
return monitor, nil
8560-
}
8561-
85628559
func (q *FakeQuerier) InsertWorkspaceAgentScriptTimings(_ context.Context, arg database.InsertWorkspaceAgentScriptTimingsParams) (database.WorkspaceAgentScriptTiming, error) {
85638560
err := validateDatabaseType(arg)
85648561
if err != nil {

coderd/database/dbmetrics/querymetrics.go

Lines changed: 24 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)