func init()

in app/metrics/config/config.go [42:71]


func init() {
	log.SetOutput(os.Stdout)

	hostName, err := os.Hostname()
	if err != nil {
		log.Fatalf("fail to get hostname, err: %v", err)
	}

	eventCodec, err := avro.NewCodedecFromFile(env.GetEnv("EVENT_AVSC", "Event.avsc"))
	if err != nil {
		log.Fatalf("fail to create event avro codec, err: %v", err)
	}
	metricsCodec, err := avro.NewCodedecFromFile(env.GetEnv("METRICS_AVSC", "MetricsAck.avsc"))
	if err != nil {
		log.Fatalf("fail to create metrics avro codec, err: %v", err)
	}

	Config = config{
		Node:                     hostName,
		EventSubscription:        env.GetEnv("EVENT_SUBSCRIPTION", "EventSubscription"),
		EventCodec:               eventCodec,
		MetricsTopic:             env.GetEnv("METRICS_TOPIC", "MetricsTopic"),
		MetricsCodec:             metricsCodec,
		SubscriberNumGoroutines:  env.GetEnvInt("SUBSCRIBER_THREADS", 0), // use default 10
		SubscriberMaxOutstanding: env.GetEnvInt("SUBSCRIBER_FLOW_CONTROL_MAX_OUTSTANDING_MESSAGES", 100),
		PublisherBatchSize:       env.GetEnvInt("PUBLISHER_BATCH_SIZE", 100),
		PublisherNumGoroutines:   env.GetEnvInt("PUBLISHER_THREADS", 0), // use default 25 * GOMAXPROCS
	}
	log.Printf("using config: %+v", Config)
}