func New(configFilename string) *App {
	app := &App{
		exit:           make(chan bool),
		ConfigFilename: configFilename,
	}
	return app
}
New App instance
package carbon
import (
	"fmt"
	"net/http"
	"net/url"
	"os"
	"path/filepath"
	"runtime"
	"strings"
	"sync"
	"go.uber.org/zap"
	"github.com/lomik/carbon-clickhouse/helper/RowBinary"
	"github.com/lomik/carbon-clickhouse/receiver"
	"github.com/lomik/carbon-clickhouse/uploader"
	"github.com/lomik/carbon-clickhouse/writer"
	"github.com/lomik/zapwriter"
)
type App struct {
	sync.RWMutex
	Config           *Config
	Writer           *writer.Writer
	Uploaders        map[string]uploader.Uploader
	UDP              receiver.Receiver
	TCP              receiver.Receiver
	Pickle           receiver.Receiver
	Grpc             receiver.Receiver
	Prometheus       receiver.Receiver
	TelegrafHttpJson receiver.Receiver
	Collector        *Collector  
	writeChan        chan *RowBinary.WriteBuffer
	exit             chan bool
	ConfigFilename   string
}