Commit Graph

534 Commits (f2a0f782888dad7eb8ab7e9eefcdb2252172cbbf)

Author SHA1 Message Date
Kevin Wan 2b9fc26c38
refactor: guard timeout on API files (#1726) 3 years ago
Kevin Wan e9620c8c05
chore: refactor code (#1708) 3 years ago
aimuz 70e51bb352
fix: empty slice are set to nil (#1702)
support for empty slce, Same behavior as json.Unmarshal
3 years ago
Kevin Wan 278cd123c8
feat: remove reentrance in redislock, timeout bug (#1704) 3 years ago
Kevin Wan ec271db7a0
chore: refactor code (#1699) 3 years ago
benqi bbac994c8a
feat: add getset command in redis and kv (#1693) 3 years ago
Kevin Wan fe262766b4
chore: fix lint issue (#1694) 3 years ago
Kevin Wan f060a226bc
refactor: simplify the code (#1670) 3 years ago
Mervin.Wong 93d524b797
fix: the new RawFieldNames considers the tag with options. (#1663)
Co-authored-by: JinfaWang <wangjinfa@iie.ac.cn>
3 years ago
Kevin Wan 3279a7ef0f
feat: add rest/httpc to make http requests governacible (#1638)
* feat: change x-trace-id to traceparent to follow opentelemetry

* feat: add rest/httpc to make http requests governacible

* chore: remove blank lines
3 years ago
Kevin Wan c05d74b44c
feat: support cpu stat on cgroups v2 (#1636)
* feat: cpu stat

* feat: add cpu stat for cgroup2

* feat: add cpu stat for cgroup2, tidy mod

* feat: support cpu stat in cgroup v2
3 years ago
mlr3000 32c88b6352
feat: support oracle :N dynamic parameters (#1552)
* chore:use struct pointer

* feat: support oracle :N dynamic parameters

* Update utils.go

* Update utils.go

* Update utils.go

pg argIndex will not always go up

* Update utils_test.go

* Keep the original

* Update utils_test.go
3 years ago
Kevin Wan b939ce75ba
chore: refactor code (#1613) 3 years ago
Kevin Wan 3b7ca86e4f
chore: add unit tests (#1615)
* test: add more tests

* test: add more tests
3 years ago
Javen 60760b52ab
model中db标签增加'-'符号以支持数据库查询时忽略对应字段. (#1612) 3 years ago
qi 96c128c58a
fix: HitQuota should be returned instead of Allowed when limit is equal to 1. (#1581) 3 years ago
Kevin Wan 900bc96420
test: add more tests (#1604) 3 years ago
Kevin Wan 259a5a13e7
chore: fix data race (#1593) 3 years ago
Fyn cf7c7cb392
build: update goctl dependency ddl-parser to v1.0.3 (#1586)
* build: update goctl dependency ddl-parser to v1.0.3

* fix: race condition when testing logx

Resolves: #1587
3 years ago
ccx 86d01e2e99
test: add testcase for FIFO Queue in collection module (#1589)
cover the case of non-zero value for q.Header when q.Elements expands
3 years ago
Kevin Wan e0454138e0
update goctl to go 1.16 for io/fs usage (#1571)
* update goctl to go 1.16 for io/fs usage

* feat: support pg serial type for auto_increment (#1563)

* add correct example for pg's url

* 🐞 fix: merge

* 🐞 fix: pg default port

*  feat: support serial type

Co-authored-by: kurimi1 <d0n41df@gmail.com>

* chore: format code

Co-authored-by: toutou_o <33993460+kurimi1@users.noreply.github.com>
Co-authored-by: kurimi1 <d0n41df@gmail.com>
3 years ago
Kevin Wan 607bae27fa
feat: support ctx in sqlx/sqlc, listed in ROADMAP (#1535)
* feat: support ctx in sqlx/sqlc

* chore: update roadmap

* fix: context.Canceled should be acceptable

* use %w to wrap errors

* chore: remove unused vars
3 years ago
Kevin Wan 9e113909b3
ignore context.Canceled for redis breaker (#1545) 3 years ago
Kevin Wan b215fa3ee6
fix #1541 (#1542) 3 years ago
Kevin Wan 2732d3cdae
chore: refactor cache (#1532) 3 years ago
chenquan e8c307e4dc
feat: support ctx in `Cache` (#1518)
* feature: support ctx in `Cache`

Signed-off-by: chenquan <chenquan.dev@foxmail.com>

* fix: `errors.Is` instead of `=`

Signed-off-by: chenquan <chenquan.dev@foxmail.com>
3 years ago
Kevin Wan cf4321b2d0
fix #1525 (#1527) 3 years ago
chenquan 1993faf2f8
fix: fix a typo (#1522)
Signed-off-by: chenquan <chenquan.dev@foxmail.com>
3 years ago
Kevin Wan a40254156f
refactor: refactor yaml unmarshaler (#1517) 3 years ago
chenquan 05cc62f5ff
chore: optimize yaml unmarshaler (#1513) 3 years ago
chenquan 9c2c90e533
chore: make error clearer (#1514) 3 years ago
Kevin Wan 822ee2e1c5
feat: update go-redis to v8, support ctx in redis methods (#1507)
* feat: update go-redis to v8, support ctx in redis methods

* fix compile errors

* chore: remove unused const

* chore: add tracing log on redis
3 years ago
Kevin Wan bb75cc796e
test: change fuzz tests (#1504) 3 years ago
Kevin Wan 0fdd8f54eb
ci: add test for win (#1503)
* ci: add test for win

* ci: update check names

* ci: use go build instead of go test to verify win test

* fix: windows test failure

* chore: disable logs in tests
3 years ago
Kevin Wan ec299085f5
docs: update tal-tech to zeromico in docs (#1498) 3 years ago
Kevin Wan 5f9d101bc6
feat: add runtime stats monitor (#1496) 3 years ago
Kevin Wan 6c2abe7474
fix: goroutine stuck on edge case (#1495)
* fix: goroutine stuck on edge case

* refactor: simplify mapreduce implementation
3 years ago
Kevin Wan 14a902c1a7
feat: handling panic in mapreduce, panic in calling goroutine, not inside goroutines (#1490)
* feat: handle panic

* chore: update fuzz test

* chore: optimize square sum algorithm
3 years ago
Kevin Wan b3e7d2901f
Feature/trie ac automation (#1479)
* fix: trie ac automation issues

* fix: trie ac automation issues

* fix: trie ac automation issues

* fix: trie ac automation issues
3 years ago
Kevin Wan f1102fb262
chore: optimize string search with Aho–Corasick algorithm (#1476)
* chore: optimize string search with Aho–Corasick algorithm

* chore: optimize keywords replacer

* fix: replacer bugs

* chore: reorder members
3 years ago
Kevin Wan fdc7f64d6f
chore: update unauthorized callback calling order (#1469)
* chore: update unauthorized callback calling order

* chore: add comments
3 years ago
Kevin Wan bf2feee5b7
feat: implement console plain output for debug logs (#1456)
* feat: implement console plain output for debug logs

* chore: rename console encoding to plain

* chore: refactor names
3 years ago
Letian Jiang ce05c429fc
chore: check interface satisfaction w/o allocating new variable (#1454) 3 years ago
shenbaise9527 13db7a1931
feat: 支持redis的LTrim方法 (#1443) 3 years ago
Kevin Wan b9b80c068b
ci: add translator action (#1441) 3 years ago
Kevin Wan 2203809e5e
chore: fix typo (#1437) 3 years ago
Kevin Wan 8d6d37f71e
remove unnecessary drain, fix data race (#1435)
* remove unnecessary drain, fix data race

* chore: fix parameter order

* refactor: rename MapVoid to ForEach in mr
3 years ago
Kevin Wan ea4f2af67f
fix: mr goroutine leak on context deadline (#1433)
* fix: mr goroutine leak on context deadline

* test: update fx test check
3 years ago
Kevin Wan 53af194ef9
chore: refactor periodlimit (#1428)
* chore: refactor periodlimit

* chore: add comments
3 years ago
Kevin Wan eb4b86137a
fix: golint issue (#1423) 3 years ago
Kevin Wan a91c3907a8
feat: rename module from tal-tech to zeromicro (#1413) 3 years ago
Kevin Wan a7aeb8ac0e
feat: support tls for etcd client (#1390)
* feat: support tls for etcd client

* chore: fix typo

* refactor: rename TrustedCAFile to CACertFile

* docs: add comments

* fix: missing tls registration

* feat: add InsecureSkipVerify config for testing
3 years ago
Kevin Wan a8e7fafebf
refactor: optimize fx (#1404)
* refactor: optimize fx

* chore: add more comments

* ci: make test robust
3 years ago
Kevin Wan c19d2637ea
feat: implement fx.NoneMatch, fx.First, fx.Last (#1402)
* chore: use workers from options in fx.unlimitedWalk

* feat: add fx.NoneMatch

* feat: add fx.First, fx.Last

* chore: add more comments

* docs: add mr readme
3 years ago
Kevin Wan fe1da14332
chore: simplify mapreduce (#1401) 3 years ago
Kevin Wan d6ff30a570
chore: fix golint issues (#1396) 3 years ago
Kevin Wan e4ab518576
test: add more tests (#1391) 3 years ago
Kevin Wan 23deaf50e6
feat: support array in default and options tags (#1386)
* feat: support array in default and options tags

* feat: ignore spaces in tags

* test: add more tests
3 years ago
Kevin Wan c0647f0719
feat: support context in MapReduce (#1368) 3 years ago
Kevin Wan 8745ed9c61
chore: add 1s for tolerance in redislock (#1367) 3 years ago
种豆得豆 836726e710
fix redis try-lock bug (#1366)
#issue_id: 1338

Co-authored-by: zhangwei <>
3 years ago
Kevin Wan cd289465fd
chore: coding style and comments (#1361)
* chore: coding style and comments

* chore: optimize `ParseJsonBody` (#1353)

* chore: optimize `ParseJsonBody`

* chore: optimize `ParseJsonBody`

* fix: fix a test

* chore: optimize `ParseJsonBody`

* fix a test

* chore: add comment

* chore: refactor

Co-authored-by: chenquan <chenquan.dev@foxmail.com>
3 years ago
chenquan 263e426ae1
chore: optimize `ParseJsonBody` (#1353)
* chore: optimize `ParseJsonBody`

* chore: optimize `ParseJsonBody`

* fix: fix a test

* chore: optimize `ParseJsonBody`

* fix a test

* chore: add comment
3 years ago
Kevin Wan d1c2a31af7
chore: add tests & refactor (#1346)
* chore: add tests & refactor

* chore: refactor
3 years ago
MarkJoyMa 3e6c217408
Feature: support adding custom cache to mongoc and sqlc (#1313)
* merge

* Feature: support adding custom cache to mongoc and sqlc
3 years ago
Kevin Wan b299f350be
chore: add comments (#1345) 3 years ago
Kevin Wan 776e6e647d
feat: tidy mod, add go.mod for goctl (#1328) 3 years ago
Kevin Wan 4ccdf4ec72
chore: format code (#1327) 3 years ago
CrazyZard a7bd993c0c
commit missing method for redis (#1325)
* commit `decr ` `decrby` `lindex` missing method for redis

* fix(store_test):TestRedis_DecrBy

* add unit tests for redis commands. And put the functions in alphabetical order

* put the functions in alphabetical order

* add `lindex` unit test

* sort func
3 years ago
Kevin Wan 914692cc82
fix #1309 (#1317) 3 years ago
Kevin Wan 403dd7367a
fix #1288 (#1292)
* fix #1288

* chore: make wrapup & shutdown callbacks run simulatenously
3 years ago
Kevin Wan d828c3f37e
feat: add etcd resolver scheme, fix discov minor issue (#1281) 3 years ago
chenquan cf683411ee
feature(retry): Delete retry mechanism (#1279) 3 years ago
Kevin Wan de5ed6a677
feat: support %w in logx.Errorf (#1278) 3 years ago
Kevin Wan a7a6753118
fixes #1257 (#1271)
* fixes #1257

* chore: format code

* test: add more tests
3 years ago
FabioCircle 11c485a5ed
Duplicate temporary variable (#1244)
Co-authored-by: fabiowzhang <fabiowzhang@wesure.cn>
3 years ago
Kevin Wan 11f85d1b80
chore: remove conf.CheckedDuration (#1235) 3 years ago
Kevin Wan 4f5c30e083
chore: remove unused const (#1224) 3 years ago
an 3a510a9138
chore: redislock use stringx.randn replace randomStr func (#1220) 3 years ago
anqiansong 69a4d213a3
Fix issue 1205 (#1211)
* fix #1205

* move builder into stores

* remove xrom

* Remove unused code

* Remove unused code

* refactor builderx to builder

Co-authored-by: anqiansong <anqiansong@bytedance.com>
3 years ago
Kevin Wan e8efcef108
update dependencies. (#1210)
* chore: update dependencies

* chore: update dependencies

* chore: update dependencies

* chore: update dependencies

* chore: fix test failure
3 years ago
yedf2 6aba5f74fc
feat: add NewSessionFromTx to interact with other orm (#1202)
Co-authored-by: yedongfu <dongfuye@163.com>
3 years ago
Kevin Wan 785d100be9
feat: slow threshold customizable in sqlx (#1188) 3 years ago
Kevin Wan f13e6f1149
feat: slow threshold customizable in redis (#1187) 3 years ago
Kevin Wan 8be0f77d96
feat: slow threshold customizable in mongo (#1186) 3 years ago
Kevin Wan 429f85a9de
feat: slow threshold customizable in redis (#1185)
* feat: slow threshold customizable in redis

* chore: improve config robustness
3 years ago
Kevin Wan 3c1cfd4c1e
feat: support multiple trace agents (#1183)
* feat: support multiple trace agents

* feat: support multiple trace agents, let later calls run if error happens

* test: add more tests
3 years ago
Kevin Wan a71a210704
feat: let different services start prometheus on demand (#1182) 3 years ago
Kevin Wan 59b9687f31
feat: support auth account for etcd (#1174) 3 years ago
Kevin Wan bd26783b33
test: add more tests (#1166)
* chore: reverse the order of stopping services

* chore: reverse the order of stopping services

* test: add more tests
3 years ago
Kevin Wan eda8230521
chore: reorg imports, format code, make MaxRetires default to 0 (#1165)
* chore: reverse the order of stopping services

* chore: reverse the order of stopping services

* chore: reorg imports, format code

* chore: format code, and refactor

* feat: change MaxRetries default to 0, disable retry
3 years ago
chenquan 462ddbb145
Add grpc retry (#1160)
* Add grpc retry

* Update grpc retry

* Add tests

* Fix a bug

* Add api && some tests

* Add comment

* Add double check

* Add server retry quota

* Update optimize code

* Fix bug

* Update optimize code

* Update optimize code

* Fix bug
3 years ago
Kevin Wan 7109d6d635
chore: reverse the order of stopping services (#1159)
* chore: reverse the order of stopping services

* chore: reverse the order of stopping services
3 years ago
Kevin Wan a6bdffd225
test: add more tests (#1154) 3 years ago
Kevin Wan eab77e21dd
test: add more tests (#1147)
* test: add more tests

* test: add more tests
3 years ago
Kevin Wan 265b1f2459
test: add more tests (#1138) 3 years ago
Kevin Wan c92ea59228
test: add more tests (#1137) 3 years ago
Kevin Wan fa4dc151ca
test: add more tests (#1134) 3 years ago
Mikael 837a9ffa03
go-zero/core/hash/hash_test.go 增加测试 TestMd5Hex (#1128) 3 years ago
Kevin Wan 10e7922597
feat: opentelemetry integration, removed self designed tracing (#1111)
* feat: opentelemetry integration, removed self designed tracing

* feat: support zipkin on opentelemetry integration

* feat: support zipkin on opentelemetry integration, enable it in conf

* style: format code

* fix: support logx without exporter configured

* fix: check return values

* refactor: simplify code

* refactor: simplify opentelemetry integration

* ci: fix staticcheck errors
3 years ago
Kevin Wan ed15ca04f4
fix: opentelemetry traceid not correct (#1108) 3 years ago
Kevin Wan d1e702e8a3
test: add more tests (#1106)
* style: format code

* test: add more tests

* fix: staticcheck errors
3 years ago
chenquan d1bfb5ef61
Fix the `resources` variable not reset after the resource manager is closed (#1105)
* Fix the resource variable not reset after the resource manager is closed

* Format code
3 years ago
Kevin Wan e43357164c
chore: replace redis.NewRedis with redis.New (#1103) 3 years ago
Kevin Wan cd21c9fa74
chore: mark redis.NewRedis as Deprecated, use redis.New instead. (#1100)
* chore: mark redis.NewRedis as Deprecated

* chore: mark redis.NewRedis as Deprecated
3 years ago
Kevin Wan 65905b914d
ci: add reviewdog (#1096) 3 years ago
Kevin Wan 8403ed16ae
ci: add Lint check on commits (#1086)
* ci: add Lint check on commits

* ci: fix Lint script error

* test: fix go vet errors

* test: fix go vet errors, remove gofumpt to check go vet

* test: fix go vet errors, try gofumpt

* test: fix go vet errors, try gofumpt, round 1

* test: fix go vet errors, try gofumpt, round 2

* ci: fix Lint errors
3 years ago
NevS 004ee488a6
fix AtomicError panic when Set nil (#1049) (#1050) 3 years ago
Kevin Wan 2e12cd2c99
coding style (#1083) 3 years ago
neosu 2695c30886
we can use otel.ErrorHandlerFunc instead of custom struct when we update OpenTelemetry to 1.0.0 (#1081) 3 years ago
Kevin Wan c9db9588b7
chore: fix comment issues (#1056) 3 years ago
Kevin Wan 872c50b71a
chore: make comment accurate (#1055) 3 years ago
Kevin Wan f4bb9f5635
fix test error on ubuntu (#1048) 3 years ago
Kevin Wan 71c0288023
fix symlink issue on windows for goctl (#1034)
* fix symlink issue on windows for goctl

* move readlink into separate file
3 years ago
Kevin Wan 24fd34413f
fix golint issues (#1027) 3 years ago
Kevin Wan 3f47251892
fix proc.Done not found in windows (#1026) 3 years ago
Kevin Wan 0b6bc69afa
reorg imports, format code (#1024) 3 years ago
Kevin Wan 5cc9eb0de4
rename sharedcalls to singleflight (#1017) 3 years ago
Kevin Wan f070d447ef
refactor for better error reporting on sql error (#1016)
* refactor for better error reporting on sql error

* fix errors

* add docs
3 years ago
Kevin Wan f6d9e19ecb
expose sql.DB to let orm operate on it (#1015)
* expose sql.DB to let orm operate on it

* add missing RawDB methods

* add NewSqlConnFromDB for cooperate with dtm
3 years ago
Kevin Wan c837dc21bb
refactoring tracing interceptors. (#1009)
* refactor tracing interceptors

* add stream tracing interceptor
3 years ago
Kevin Wan bdec5f2349
use sdktrace instead of trace for opentelemetry to avoid conflicts (#1005)
* use sdktrace instead of trace for opentelemetry to avoid conflicts

* disable opentelemetry for right now
3 years ago
neosu dec6309c55
add opentelemetry test (#1002) 3 years ago
Kevin Wan 10805577f5
reorg imports, format code (#1000) 3 years ago
SunJun a4d8286e36
开启otel后,tracelog自动获取otle的traceId和spanId (#946)
* 开启otel后,tracelog自动获取otle的traceId和spanId

* 去除opentelemetry判断

* 通过 IsRecording 判断span是否活跃
3 years ago
Kevin Wan 79eab0ea2f
refactor to shorter config name (#997) 3 years ago
Kevin Wan 58874779e7
move opentelemetry into trace package, and refactoring (#996)
* move opentelemetry into trace package, and refactoring

* rename rewritten package names
3 years ago
Kevin Wan 9bdadf2381
fix golint issues (#992) 3 years ago
Kevin Wan 20f665ede8
implement k8s service discovery (#988)
* implement k8s service discovery

* simplify code

* use default namespace if not provided

* disable codecov bot comment

* ignore adhoc dir

* simplify building target in NewClient

* reformat code

* Fix filepath (#990)

* format code, and reorg imports (#991)

* add more unit test

Co-authored-by: anqiansong <anqiansong@gmail.com>
3 years ago
Kevin Wan db95b3f0e3
configurable for load and stat statistics logs (#980) 3 years ago
Kevin Wan 7618139dad
refactor (#977) 3 years ago
Kevin Wan d0f9e57022
fix #957 (#959) 3 years ago
zhoushuguang 280e837c9e
rest otel support (#943) 3 years ago
Kevin Wan cd15c19250
fix lint errors (#937) 3 years ago
neosu 5b35fa17de
add the opentelemetry tracing (#908)
* add the opentelemetry tracing

* fix the error sampler config

* 添加stream的链路跟踪

* fix the error field name
3 years ago
Kevin Wan bf3ce16823
fix #820 (#934) 3 years ago
Kevin Wan 9c1ee50497
refactor (#920) 3 years ago
chenquan 7c842f22d0
Add traceId to the response headers (#919)
* Add traceId to the request headers

* Add test cases

* Update refactor code
3 years ago
Kevin Wan c7f5aad83a
add stringx.FirstN with ellipsis (#916) 3 years ago
lucaq e77747cff8
redis.go,type StringCmd = red.StringCmd (#790)
* Add Sinter,Sinterstore; Modify TestRedis_Set

* type StringCmd

* redis.go,type StringCmd = red.StringCmd

Co-authored-by: lucq <lucq@toopsoon.com>
3 years ago
Kevin Wan f2612db4b1
add stringx.FirstN (#914) 3 years ago
Kevin Wan a21ff71373
fix #889 (#912) 3 years ago
Kevin Wan fbf2eebc42
add Errorv/Infov/Slowv (#909) 3 years ago
Kevin Wan 69935c1ba3
refactor goctl, fix golint issues (#903) 3 years ago
Kevin Wan 1fb356f328
refactor goctl (#902) 3 years ago
市民233 0b0406f41a
fix: 解决golint 部分警告 (#897)
* feat:  解决goreportcard的警报
ps: warning: if block ends with a return statement, so drop this else and outdent its block (golint)

* feat: 优化golint警告,将processFieldPrimitiveWithJsonNumber 改成 processFieldPrimitiveWithJSONNumber
unmarshaler.go:248:23: method processFieldPrimitiveWithJsonNumber should be processFieldPrimitiveWithJSONNumber

* feat: 添加 WithCanonicalKeyFunc 注释

* feat: 添加DisableStat的注释

* feat: 添加 RegisterGoctlHome 注释

* feat: 添加 PostgreSqlJoin 注释

* feat: 解决goline警告should not use basic type string as key in context.WithValue问题

* feat: 解决golint警告信息: should not use basic type string as key in context.WithValue

* fix: 定义自定义字段类型,导致go test fail 问题

* update: 恢复原有测试用例

* fix golint warning
3 years ago
Kevin Wan e024aebb66
fix golint issues (#899) 3 years ago
Kevin Wan 54d57c7d4b
refactor rest code (#895) 3 years ago
voidint 28a7c9d38f
fix http header binding failure bug #885 (#887) 3 years ago
Kevin Wan 872e75e10d
add logx.DisableStat() to disable stat logs (#893)
* add logx.DisableStat() to disable stat logs

* refactor logx code
3 years ago