├── .gitattributes
├── .github
├── ISSUE_TEMPLATE.md
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── custom.md
│ └── feature_request.md
├── PULL_REQUEST_TEMPLATE.md
└── workflows
│ ├── deploy-framework-docker.yml
│ ├── deploy-latest-framework-docker.yml
│ ├── deploy-latest-tars-docker.yml
│ └── deploy-tars-docker.yml
├── .gitignore
├── .gitmodules
├── Contributing.md
├── LICENSE
├── PerfTestSoft
├── Readme.md
├── StressBenchmark
│ ├── README.md
│ ├── TarsStressClient
│ │ ├── Stress.h
│ │ ├── main.cpp
│ │ ├── makefile
│ │ └── teststress.sh
│ └── TarsStressServer
│ │ ├── Stress.tars
│ │ ├── StressImp.cpp
│ │ ├── StressImp.h
│ │ ├── TarsStressServer.cpp
│ │ ├── TarsStressServer.h
│ │ └── makefile
└── introduction.md
├── README.md
├── README.zh.md
├── tag.sh
├── tars-deploy-framework.sh
├── tars-deploy-tars.sh
├── tars-latest-deploy-framework.sh
└── tars-latest-deploy-tars.sh
/.gitattributes:
--------------------------------------------------------------------------------
1 | * linguist-language=C++
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | ### What language are you using?
2 |
3 |
4 | ### What operating system (Linux, Ubuntu, …) and version?
5 |
6 |
7 | ### What runtime / compiler are you using (e.g. jdk version or version of gcc)
8 |
9 |
10 | Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
11 |
12 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve
4 | title: "[BUG]"
5 | labels: bug
6 | assignees: ''
7 |
8 | ---
9 |
10 | **What version of TARS and what language are you using?**
11 |
12 | **What operating system (Linux, Windows, ...) and version?** [e.g. CentOS 7.8]
13 |
14 | **What runtime/compiler are you using?** [e.g. JDK version or version of gcc]
15 |
16 | **Describe the bug**
17 | A clear and concise description of what the bug is.
18 |
19 | **To Reproduce**
20 | Steps to reproduce the behavior:
21 | 1. Go to '...'
22 | 2. Click on '....'
23 | 3. See error
24 |
25 | **Expected behavior**
26 | A clear and concise description of what you expected to happen.
27 |
28 | **Screenshots**
29 | If applicable, add screenshots to help explain your problem.
30 |
31 | **Additional context**
32 | Add any other context about the problem here.
33 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/custom.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Custom issue template
3 | about: Describe this issue template's purpose here.
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for this project
4 | title: "[FEATURE]"
5 | labels: enhancement
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | **IMPORTANT: Please do not create a Pull Request without creating an issue first.**
2 |
3 | *Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.*
4 |
5 | Please provide enough information so that others can review your pull request:
6 |
7 |
8 |
9 | Explain the **details** for making this change. What existing problem does the pull request solve?
10 |
11 |
12 |
13 | **Test plan (required)**
14 |
15 | Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI.
16 |
17 |
18 |
19 | **Code formatting**
20 |
21 |
22 |
23 | **Closing issues**
24 |
25 | Put `closes #XXXX` in your comment to auto-close the issue that your PR fixes (if such).
26 |
--------------------------------------------------------------------------------
/.github/workflows/deploy-framework-docker.yml:
--------------------------------------------------------------------------------
1 | name: deploy-framework-docker
2 |
3 | on:
4 | push:
5 | tags:
6 | - v*
7 | jobs:
8 | build:
9 | runs-on: ubuntu-20.04
10 | steps:
11 | - name: docker login
12 | run: |
13 | docker login -u ${{ secrets.name }} -p ${{ secrets.pass }}
14 | - name: Get version
15 | id: get_version
16 | run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
17 | - uses: actions/checkout@v3
18 | with:
19 | submodules: true
20 | - name: deploy docker
21 | run: |
22 | echo $GITHUB_SHA
23 | ./tars-deploy-framework.sh ${{ steps.get_version.outputs.VERSION }} true
24 |
--------------------------------------------------------------------------------
/.github/workflows/deploy-latest-framework-docker.yml:
--------------------------------------------------------------------------------
1 | name: deploy-latest-framework-docker
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 |
8 | jobs:
9 | build:
10 | runs-on: ubuntu-20.04
11 | steps:
12 | - name: docker login
13 | run: |
14 | docker login -u ${{ secrets.name }} -p ${{ secrets.pass }}
15 | - uses: actions/checkout@v3
16 | with:
17 | submodules: true
18 | - name: deploy docker
19 | run: |
20 | echo $GITHUB_SHA
21 | ./tars-latest-deploy-framework.sh true
22 |
--------------------------------------------------------------------------------
/.github/workflows/deploy-latest-tars-docker.yml:
--------------------------------------------------------------------------------
1 | name: deploy-latest-tars-docker
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 | jobs:
8 | build:
9 | runs-on: ubuntu-20.04
10 | steps:
11 | - name: docker login
12 | run: |
13 | docker login -u ${{ secrets.name }} -p ${{ secrets.pass }}
14 | - uses: actions/checkout@v3
15 | with:
16 | submodules: true
17 | - name: deploy docker
18 | run: |
19 | echo $GITHUB_SHA
20 | ./tars-latest-deploy-tars.sh true
21 |
--------------------------------------------------------------------------------
/.github/workflows/deploy-tars-docker.yml:
--------------------------------------------------------------------------------
1 | name: deploy-tars-docker
2 |
3 | on:
4 | push:
5 | tags:
6 | - v*
7 | jobs:
8 | build:
9 | runs-on: ubuntu-20.04
10 | steps:
11 | - name: docker login
12 | run: |
13 | docker login -u ${{ secrets.name }} -p ${{ secrets.pass }}
14 | - name: Get version
15 | id: get_version
16 | run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
17 | - uses: actions/checkout@v3
18 | with:
19 | submodules: true
20 | - name: deploy docker
21 | run: |
22 | echo $GITHUB_SHA
23 | ./tars-deploy-tars.sh ${{ steps.get_version.outputs.VERSION }} true
24 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /java/core/.settings
2 | /java/core/.classpath
3 | /java/core/.project
4 | /java/examples/quickstart-client/.settings
5 | /java/examples/quickstart-client/.project
6 | /java/examples/quickstart-client/.classpath
7 | /java/examples/quickstart-server/.settings
8 | /java/examples/quickstart-server/.project
9 | /java/examples/quickstart-server/.classpath
10 | /java/net/.settings
11 | /java/net/.project
12 | /java/net/.classpath
13 | /java/tools/tars-maven-plugin/.settings
14 | /java/tools/tars-maven-plugin/.project
15 | /java/tools/tars-maven-plugin/.classpath
16 | /java/core/target
17 | /java/examples/quickstart-client/target
18 | /java/examples/quickstart-server/target
19 | /java/net/target
20 | /java/tools/tars-maven-plugin/target
21 | /java/examples/stress-server/.classpath
22 | /java/examples/stress-server/.project
23 | /java/examples/stress-server/.settings
24 | /java/examples/stress-server/target
25 | /java/.project
26 | /java/.settings/org.eclipse.m2e.core.prefs
27 | /java/examples/.project
28 | /java/examples/.settings/org.eclipse.m2e.core.prefs
29 | /java/tools/.project
30 | /java/tools/.settings/org.eclipse.m2e.core.prefs
31 |
32 | /php/.idea/*
33 | .idea/*
34 |
35 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "framework"]
2 | path = framework
3 | url = https://github.com/TarsCloud/TarsFramework
4 | [submodule "cpp"]
5 | path = cpp
6 | url = https://github.com/TarsCloud/TarsCpp
7 | [submodule "java"]
8 | path = java
9 | url = https://github.com/TarsCloud/TarsJava
10 | [submodule "nodejs"]
11 | path = nodejs
12 | url = https://github.com/tars-node/Tars.js
13 | [submodule "php"]
14 | path = php
15 | url = https://github.com/TarsPHP/TarsPHP
16 | [submodule "tup"]
17 | path = tup
18 | url = https://github.com/TarsCloud/TarsTup
19 | [submodule "web"]
20 | path = web
21 | url = https://github.com/TarsCloud/TarsWeb
22 | [submodule "go"]
23 | path = go
24 | url = https://github.com/TarsCloud/TarsGo
25 | [submodule "docs"]
26 | path = docs
27 | url = https://github.com/TarsCloud/TarsDocs
28 | [submodule "docker"]
29 | path = docker
30 | url = https://github.com/TarsCloud/TarsDocker.git
31 | [submodule "docs_en"]
32 | path = docs_en
33 | url = https://github.com/TarsCloud/TarsDocs_en
34 |
--------------------------------------------------------------------------------
/Contributing.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | If you contributed but cannot find your ID in the file, please submit PR and add your GitHub ID to **both contributing file under your contributed repo** and [Tars repo](https://github.com/TarsCloud/Tars/pulls).
4 |
5 | ## Tars
6 |
7 | ### Committer
8 |
9 | - ruanshudong
10 | - loveyacper
11 | - LawlietLi
12 | - meijing0114
13 | - medns
14 | - dpp2009
15 | - TOKISAKIKURUMI
16 | - change93
17 | - helloopenworld
18 | - meiping
19 | - copyrenzhe
20 | - bobzhangyong
21 | - wjx82850707
22 | - Spacebody
23 | - souldancer
24 | - zerolocusta
25 | - markshan
26 |
27 | ### Contributors List
28 |
29 | - 9chu
30 | - Abioy
31 | - bartdong
32 | - bishaoqing
33 | - bobzhangyong
34 | - change93
35 | - Cnlouds
36 | - copyrenzhe
37 | - cygsxak
38 | - deepzliu
39 | - dolphinxwc
40 | - dpp2009
41 | - duoyu119
42 | - ETZhangSX
43 | - Fr1ck
44 | - ganziqim
45 | - guzitajiu
46 | - helloopenworld
47 | - higithubhi
48 | - isabellavieira
49 | - jerrylucky
50 | - KatharineOzil
51 | - kuangxc
52 | - lanffy
53 | - lanyutc
54 | - LawlietLee
55 | - LawlietLi
56 | - loveyacper
57 | - maplebeats
58 | - marklightning
59 | - mdhender
60 | - medns
61 | - meijing0114
62 | - meiping
63 | - MR-workaholic
64 | - munglechina
65 | - parchk
66 | - qiuxin
67 | - ruanshudong
68 | - sandyskies
69 | - scguoi
70 | - serverlessplus
71 | - songvy
72 | - souldancer
73 | - Spacebody
74 | - sy-records
75 | - tarstest
76 | - TCZWJ
77 | - TimmyYu
78 | - tinkercloud
79 | - TOKISAKIKURUMI
80 | - wjx82850707
81 | - youngdou
82 | - YoungZiyi
83 | - yuansx
84 | - yukkiball
85 | - zehuaiWANG
86 | - zerolocusta
87 | - BeyondWUXF
88 |
89 | ## TarsCpp
90 |
91 | ### Committer
92 |
93 | - ruanshudong
94 | - markshan
95 |
96 | ### Contributors List
97 |
98 | - Abioy
99 | - jerrylucky
100 | - langio
101 | - marklightning
102 | - ruanshudong
103 | - shevqko
104 | - Spacebody
105 | - TCZWJ
106 | - viest
107 | - YMChenLiye
108 | - zhanleewo
109 | - BeyondWUXF
110 |
111 | ## TarsBenchmark
112 |
113 | ### Committer
114 | - forrestlinfeng
115 | - markshan
116 |
117 | ### Contributor List
118 |
119 | - forrestlinfeng
120 | - wincsb
121 |
122 | ## plugins
123 |
124 | - diracccc
125 |
126 | ## TarsDemo
127 |
128 | - ruanshudong
129 |
130 | ## TarsDocker
131 |
132 | ### Committer
133 |
134 | - ruanshudong
135 | - markshan
136 |
137 | ### Contributor List
138 |
139 | - bartdong
140 | - Frankie
141 | - franklee0817
142 | - ruanshudong
143 | - RuizhaoLi
144 |
145 | ## TarsDocs
146 |
147 | ### Committer
148 |
149 | - ruanshudong
150 | - KatharineOzil
151 | - bartdong
152 | - Cnlouds
153 | - markshan
154 |
155 | ### Contributor List
156 | - bartdong
157 | - Cnlouds
158 | - danielzheng-Tencent
159 | - jerrylucky
160 | - KatharineOzil
161 | - meijing0114
162 | - ruanshudong
163 | - yukkiball
164 | - zouchengzhuo
165 |
166 | ## TarsFramework
167 |
168 | ### Committer
169 |
170 | - ruanshudong
171 | - wincsb
172 | - markshan
173 |
174 | ### Contributor List
175 | - diracccc
176 | - ETZhangSX
177 | - jerrylucky
178 | - lanhy
179 | - MindHook
180 | - mygrsun
181 | - renyang9876
182 | - ruanshudong
183 | - shevqko
184 | - wincsb
185 | - ypingcn
186 | - yuansx
187 | - BeyondWUXF
188 |
189 | ## TarsGo
190 |
191 | ### Committer
192 |
193 | - sandyskies
194 | - jchalex
195 | - chenhengqi
196 | - MonkeyLi
197 | - tensorchen
198 | - rikewang
199 | - markshan
200 | - lbbniu
201 |
202 | ### Contributor List
203 | - 0xflotus
204 | - agchrys
205 | - Andrew-M-C
206 | - bartdong
207 | - BurningXFlame
208 | - chenhengqi
209 | - Clark-zhang
210 | - ClaudeLiang
211 | - cokeboL
212 | - defool
213 | - erjanmx
214 | - hooligan520
215 | - hotWing17
216 | - imthx
217 | - jchalex
218 | - jyuan68
219 | - lanhy
220 | - louishlz
221 | - marklightning
222 | - maplebeats
223 | - mdhender
224 | - mjaow
225 | - MonkeyLi
226 | - mountkin
227 | - nickwanninger
228 | - philippgille
229 | - qiuxin
230 | - rbarros
231 | - rikewang
232 | - ruanshudong
233 | - sandyskies
234 | - skelway
235 | - TauWu
236 | - tensorchen
237 | - terryding77
238 | - wqliang
239 | - wzshiming
240 | - xiaoxubeii
241 | - xuri
242 | - YaffaBeauty
243 | - YouEclipse
244 | - lbbniu
245 | - BeyondWUXF
246 |
247 | ## TarsJava
248 |
249 | ### Committer
250 |
251 | - TimmyYu
252 | - XenoAmess
253 | - diracccc
254 | - LawlietLi
255 | - markshan
256 |
257 | ### Contributor List
258 | - diracccc
259 | - kahn
260 | - LawlietLi
261 | - LiuMenghan
262 | - TimmyYu
263 | - walkertest
264 | - woodwind
265 | - XenoAmess
266 | - yukkiball
267 |
268 | ## TarsPHP
269 |
270 | ### Committer
271 |
272 | - meijing0114
273 | - bobzhangyong
274 | - copyrenzhe
275 | - dpp2009
276 | - markshan
277 |
278 | ### Contributor List
279 | - bobzhangyong
280 | - copyrenzhe
281 | - cuixg
282 | - danielzheng-Tencent
283 | - dpp2009
284 | - meijing0114
285 | - wodetian55
286 | - medmin
287 | - sy-records
288 |
289 | ## TarsProtocol
290 |
291 | ### Committer
292 | - ruanshudong
293 | - shevqko
294 | - markshan
295 |
296 | ### Contributor List
297 | - jerrylucky
298 | - ruanshudong
299 | - shevqko
300 | - hpeiy98
301 |
302 | ## TarsWeb
303 |
304 | ### Committer
305 | - ruanshudong
306 | - zouchengzhuo
307 | - ziyang314
308 | - shevqko
309 | - markshan
310 |
311 | ### Contributor List
312 | - airycanon
313 | - ETZhangSX
314 | - jerrylucky
315 | - lanhy
316 | - ouliuquan
317 | - ruanshudong
318 | - sandyskies
319 | - shevqko
320 | - wjx82850707
321 | - ypingcn
322 | - ziyang314
323 | - zouchengzhuo
324 | - BeyondWUXF
325 |
326 | ## TarsJMeter
327 |
328 | ### Committer
329 |
330 | - boycs007
331 | - jnlunsb
332 | - markshan
333 |
334 |
335 | ### Contributor List
336 | - boycs007
337 | - jnlunsb
338 | - juliuslu-tencent
339 |
340 | ## TarsNodeJS
341 |
342 | ### Committer
343 |
344 | - medmin
345 | - markshan
346 |
347 | ### Contributor List
348 |
349 | - medmin
350 |
351 | ## K8STARS
352 | ### Committer
353 | - bartdong
354 | - defool
355 | - markshan
356 |
357 | ### Contributor List
358 |
359 | - bartdong
360 | - defool
361 | - hpeiy98
362 | - KatharineOzil
363 | - andyguo1023
364 |
365 | ## ArtWork
366 |
367 | - cheney-ying
368 | - heisewuyu16
369 | - Quentin-by
370 |
371 | ## TarsTools
372 |
373 | ### Committer
374 | - harveyxu-tme
375 | - markshan
376 |
377 | ### Contributor List
378 |
379 | - harveyxu-tme
380 | - hpeiy98
381 |
382 | ## TarsGateway
383 |
384 | ### Committer
385 |
386 | - shevqko
387 | - markshan
388 |
389 | ### Contributor List
390 |
391 | - shevqko
392 | - ruanshudong
393 | - hpeiy98
394 | - wincsb
395 |
396 | ## TARS_Landscape
397 |
398 | ### Committer
399 |
400 | - KatharineOzil
401 | - dankohn
402 |
403 | ### Contributor List
404 |
405 | - KatharineOzil
406 | - dankohn
407 | - bartdong
408 | - jordinl83
409 | - heisewuyu16
410 |
411 | ## TarsprotocolProxy
412 |
413 | ### Committer
414 |
415 | - shevqko
416 | - eatonzhang
417 | - markshan
418 |
419 | ### Contributor List
420 |
421 | - shevqko
422 | - eatonzhang
423 | - markshan
424 | - hpeiy98
425 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2020, THE TARS FOUNDATION
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | 1. Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 |
12 | 2. Redistributions in binary form must reproduce the above copyright notice,
13 | this list of conditions and the following disclaimer in the documentation
14 | and/or other materials provided with the distribution.
15 |
16 | 3. Neither the name of the copyright holder nor the names of its
17 | contributors may be used to endorse or promote products derived from
18 | this software without specific prior written permission.
19 |
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 |
--------------------------------------------------------------------------------
/PerfTestSoft/Readme.md:
--------------------------------------------------------------------------------
1 | # Table of contents
2 | > * [1.Description](#main-chapter-1)
3 | > * [2.Framework Environment Setup](#main-chapter-2)
4 | > * [3.Server Side Test Software](#main-chapter-3)
5 | > * [4.Client Side Test Software](#main-chapter-4)
6 | > * [5.Note Well](#main-chapter-5)
7 |
8 | # 1. Description
9 | - This folder is used to store the software for Tars performance Test.
10 | - The test software consists of the client software and the server software.
11 | - The Tars framework should be set up successfully prior to run the performance test software.
12 |
13 |
14 | # 2. Tars Framework Environment Setup
15 | - In order to run the performance test, Tars framework is a must.
16 | - You can setup the framework via script or do it step-by-step.
17 | - Refer to the following link:
18 | - https://github.com/TarsCloud/Tars/tree/master/shellDeploy
19 | - https://github.com/TarsCloud/Tars#installation
20 |
21 |
22 | # 3. Server Side Test Software
23 | - For the server side,
24 |
25 |
26 | # 4. Client Side Test Software
27 | - For the client side,
28 |
29 |
30 |
31 | # 5. Note Well
32 | - More informations you should pay special attention to.
33 |
--------------------------------------------------------------------------------
/PerfTestSoft/StressBenchmark/README.md:
--------------------------------------------------------------------------------
1 | 该工程是Tars入门示例的代码
2 |
3 |
4 | 目录名称 |功能
5 | -----------------|----------------
6 | TarsStressServer | Tars性能压测服务端的程序
7 | TarsStressClient | Tars性能压测客户端的程序
8 |
--------------------------------------------------------------------------------
/PerfTestSoft/StressBenchmark/TarsStressClient/Stress.h:
--------------------------------------------------------------------------------
1 | // **********************************************************************
2 | // This file was generated by a TARS parser!
3 | // TARS version 1.1.0.
4 | // **********************************************************************
5 |
6 | #ifndef __STRESS_H_
7 | #define __STRESS_H_
8 |
9 | #include