Skip to content

Commit bcbd2a2

Browse files
authored
fix: Print correct number of table resources (#143)
Fixes #114 ---
1 parent f33c671 commit bcbd2a2

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

plugins/source.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -175,11 +175,8 @@ func (p *SourcePlugin) Sync(ctx context.Context, spec specs.Source, res chan<- *
175175
defer wg.Done()
176176
defer goroutinesSem.Release(1)
177177
// TODO: prob introduce client.Identify() to be used in logs
178-
tableStartTime := time.Now()
179-
p.logger.Info().Str("table", table.Name).Msg("fetch start")
180-
totalTableResources := table.Resolve(ctx, client, startTime, nil, res)
181-
totalResources += totalTableResources
182-
p.logger.Info().Str("table", table.Name).Int("total_resources", totalTableResources).TimeDiff("duration", time.Now(), tableStartTime).Msg("fetch table finished")
178+
179+
totalResources += table.Resolve(ctx, client, startTime, nil, res)
183180
}()
184181
}
185182
}

schema/table.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,9 @@ func (t Table) TableNames() []string {
153153

154154
// Call the table resolver with with all of it's relation for every reolved resource
155155
func (t Table) Resolve(ctx context.Context, meta ClientMeta, syncTime time.Time, parent *Resource, resolvedResources chan<- *Resource) int {
156+
tableStartTime := time.Now()
157+
meta.Logger().Info().Str("table", t.Name).Msg("fetch start")
158+
156159
res := make(chan interface{})
157160
startTime := time.Now()
158161
go func() {
@@ -174,13 +177,13 @@ func (t Table) Resolve(ctx context.Context, meta ClientMeta, syncTime time.Time,
174177
}
175178
meta.Logger().Debug().Str("table", t.Name).TimeDiff("duration", time.Now(), startTime).Msg("table resolver finished successfully")
176179
}()
177-
totalResources := 0
180+
tableResources := 0
181+
relationsResources := 0
178182
for elem := range res {
179183
objects := helpers.InterfaceSlice(elem)
180184
if len(objects) == 0 {
181185
continue
182186
}
183-
totalResources += len(objects)
184187
for i := range objects {
185188
resource := NewResourceData(&t, parent, syncTime, objects[i])
186189
if t.PreResourceResolver != nil {
@@ -200,13 +203,16 @@ func (t Table) Resolve(ctx context.Context, meta ClientMeta, syncTime time.Time,
200203
}
201204
}
202205

206+
tableResources++
203207
resolvedResources <- resource
204208
for _, rel := range t.Relations {
205-
totalResources += rel.Resolve(ctx, meta, syncTime, resource, resolvedResources)
209+
relationsResources += rel.Resolve(ctx, meta, syncTime, resource, resolvedResources)
206210
}
207211
}
208212
}
209-
return totalResources
213+
meta.Logger().Info().Str("table", t.Name).Int("total_resources", tableResources).TimeDiff("duration", time.Now(), tableStartTime).Msg("fetch table finished")
214+
215+
return tableResources + relationsResources
210216
}
211217

212218
func (t Table) resolveColumns(ctx context.Context, meta ClientMeta, resource *Resource) {

0 commit comments

Comments
 (0)