liubing 5 months ago
parent
commit
23a8aa133c
5 changed files with 52 additions and 3 deletions
  1. 17 0
      .idea/golinter.xml
  2. 13 0
      cmd/tracecreator/main.go
  3. 14 2
      cmd/tracecreator/timerangegen.go
  4. 4 1
      go.mod
  5. 4 0
      go.sum

+ 17 - 0
.idea/golinter.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GoLinterSettings">
+    <option name="enabledLinters">
+      <list>
+        <option value="ineffassign" />
+        <option value="staticcheck" />
+        <option value="govet" />
+        <option value="errcheck" />
+        <option value="unused" />
+        <option value="gosimple" />
+      </list>
+    </option>
+    <option name="goLinterExe" value="$USER_HOME$/bin/golangci-lint" />
+    <option name="linterSelected" value="true" />
+  </component>
+</project>

+ 13 - 0
cmd/tracecreator/main.go

@@ -7,9 +7,22 @@ import (
 	"github.com/ClickHouse/clickhouse-go/v2"
 	"github.com/ClickHouse/clickhouse-go/v2"
 	"github.com/ClickHouse/clickhouse-go/v2/lib/driver"
 	"github.com/ClickHouse/clickhouse-go/v2/lib/driver"
 	log "github.com/sirupsen/logrus"
 	log "github.com/sirupsen/logrus"
+	"time"
 )
 )
 
 
 func main() {
 func main() {
+	now := time.Now()
+	trGen := NewTimeRangeGen(5*time.Second, now.Add(1*time.Hour), 10*time.Second, 20*time.Second)
+	trGen.start()
+	for {
+		select {
+		case tr := <-trGen.C:
+		default:
+
+		}
+	}
+}
+func testMysql() {
 	conn, err := connect()
 	conn, err := connect()
 	if err != nil {
 	if err != nil {
 		panic((err))
 		panic((err))

+ 14 - 2
cmd/tracecreator/timerangegen.go

@@ -17,7 +17,15 @@ type TimeRangeGen struct {
 	minRangeDuration         time.Duration
 	minRangeDuration         time.Duration
 	maxRangeDuration         time.Duration
 	maxRangeDuration         time.Duration
 	stopChan                 chan bool
 	stopChan                 chan bool
-	logger                   *log.Logger
+	logger                   *log.Entry
+}
+
+func NewTimeRangeGen(upperTimeDurationFromNow time.Duration, lastGenTimeUpper time.Time, minRangeDuration time.Duration,
+	maxRangeDuration time.Duration) *TimeRangeGen {
+	logger := log.WithFields(log.Fields{"loggerName": "TimeRangeGen"})
+	return &TimeRangeGen{upperTimeDurationFromNow: upperTimeDurationFromNow,
+		lastGenTimeUpper: lastGenTimeUpper, minRangeDuration: minRangeDuration,
+		maxRangeDuration: maxRangeDuration, logger: logger}
 }
 }
 
 
 func (tr *TimeRangeGen) start() {
 func (tr *TimeRangeGen) start() {
@@ -54,6 +62,10 @@ func (tr *TimeRangeGen) checkGenTimeRange() {
 	}
 	}
 	tr.logger.Debugf("start check gen time range in [%v, %v)", tr.lastGenTimeUpper, upper)
 	tr.logger.Debugf("start check gen time range in [%v, %v)", tr.lastGenTimeUpper, upper)
 	for i := tr.lastGenTimeUpper; i.Before(upper); i = i.Add(tr.maxRangeDuration) {
 	for i := tr.lastGenTimeUpper; i.Before(upper); i = i.Add(tr.maxRangeDuration) {
-
+		end := i.Add(tr.minRangeDuration)
+		if end.After(upper) {
+			end = upper
+		}
+		tr.C <- TimeRange{begin: i, end: end}
 	}
 	}
 }
 }

+ 4 - 1
go.mod

@@ -2,7 +2,10 @@ module git.cestong.com.cn/cecf/trace-stream-creator
 
 
 go 1.22.1
 go 1.22.1
 
 
-require github.com/ClickHouse/clickhouse-go/v2 v2.29.0
+require (
+	github.com/ClickHouse/clickhouse-go/v2 v2.29.0
+	github.com/sirupsen/logrus v1.9.3
+)
 
 
 require (
 require (
 	github.com/ClickHouse/ch-go v0.61.5 // indirect
 	github.com/ClickHouse/ch-go v0.61.5 // indirect

+ 4 - 0
go.sum

@@ -47,8 +47,11 @@ github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys=
 github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs=
 github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs=
 github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
 github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
 github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
 github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
+github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
+github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
 github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
 github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
 github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
 github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
 github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
@@ -84,6 +87,7 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
 golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
 golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=