Skip to content

Commit d5526a4

Browse files
committed
Create gitblit instance to schedule reporting
1 parent 99ff0bf commit d5526a4

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.gitblit.instance;
2+
3+
import com.gitblit.manager.IRuntimeManager;
4+
5+
public class GitblitInstance
6+
{
7+
8+
private IRuntimeManager runtimeManager;
9+
10+
private String instanceId;
11+
12+
private GitblitInstanceReport report;
13+
14+
15+
16+
/**
17+
* Initialize the Gitblit instance reporting system.
18+
*
19+
* This will gather the static and dynamic statistics about the running
20+
* instance, so that they can be reported.
21+
*
22+
* @param runtimeManager
23+
* The runtime manager is used to determine the type of instance
24+
* as well as for some other settings and data.
25+
*/
26+
public void init(IRuntimeManager runtimeManager) {
27+
this.runtimeManager = runtimeManager;
28+
29+
// Initialize ID
30+
GitblitInstanceId instanceId = new GitblitInstanceId(runtimeManager.getBaseFolder());
31+
this.instanceId = instanceId.getId().toString();
32+
33+
GitblitInstanceStat instanceStat;
34+
35+
if (runtimeManager.getSettings().hasSettings("container.dockerfileVersion")) {
36+
instanceStat = new GitblitInstanceStat(GitblitInstanceStat.GitblitInstanceType.DOCKER);
37+
}
38+
else if (runtimeManager.getStatus().isGO){
39+
instanceStat = new GitblitInstanceStat(GitblitInstanceStat.GitblitInstanceType.GO);
40+
}
41+
else {
42+
instanceStat = new GitblitInstanceStat(GitblitInstanceStat.GitblitInstanceType.WAR);
43+
}
44+
45+
instanceStat.init(runtimeManager.getStatus());
46+
47+
this.report = new GitblitInstanceReport(this.instanceId, instanceStat);
48+
}
49+
50+
51+
public void start()
52+
{
53+
}
54+
}

src/main/java/com/gitblit/servlet/GitblitContext.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import javax.servlet.ServletContext;
3333
import javax.servlet.ServletContextEvent;
3434

35+
import com.gitblit.instance.GitblitInstance;
3536
import org.slf4j.Logger;
3637
import org.slf4j.LoggerFactory;
3738

@@ -87,6 +88,8 @@ public class GitblitContext extends GuiceServletContextListener {
8788

8889
private final File goBaseFolder;
8990

91+
private final GitblitInstance instance = new GitblitInstance();
92+
9093
/**
9194
* Construct a Gitblit WAR/Express context.
9295
*/
@@ -224,6 +227,10 @@ protected void startCore(ServletContext context) {
224227
logger.error(null, t);
225228
}
226229
}
230+
231+
instance.init(runtime);
232+
// The instance is up and running. Make it count.
233+
instance.start();
227234
}
228235

229236
private String lookupBaseFolderFromJndi() {

0 commit comments

Comments
 (0)