public static void main(String[] args) {
        HboxContainer container = new HboxContainer();

        // init opentelemetry
        HboxOpenTelemetry.init(args, null, container.getClass());
        final Span mainSpan = HboxOpenTelemetry.startSpan(
                "hbox-container" + (null != container.role && !container.role.isEmpty() ? "-" + container.role : ""),
                b -> b.setAttribute("process.working_directory", System.getProperty("user.dir")));

        try (final Scope scope = mainSpan.makeCurrent()) {
            container.init();
            if (container.run(args)) {
                LOG.info("HboxContainer " + container.getContainerId().toString() + " finish successfully");
                container.reportSucceededAndExit();
            } else {
                LOG.error("HboxContainer run failed! Exit code is: " + container.exitCode);
                container.reportFailedAndExit();
            }
        } catch (final Throwable e) {
            LOG.error("Some errors has occurred during container running!", e);
            mainSpan.recordException(e);
            container.reportFailedAndExit();
        } finally {
            mainSpan.end();
            HboxOpenTelemetry.flush();
        }
    }
code=0: container is successful
code>0: container is failed, for example: python 137 means being kill SIGKILL
code=-1: container is killed by website
core/src/main/java/net/qihoo/hbox/container/HboxContainer.java