Beispiel #1
0
        public static Heartbeat GetInstance(DynamoModel dynModel)
        {
            lock (typeof(Heartbeat))
            {
                if (instance == null)
                    instance = new Heartbeat(dynModel);
            }

            return instance;
        }
Beispiel #2
0
 public static void DestroyInstance()
 {
     lock (typeof(Heartbeat))
     {
         if (instance != null)
         {
             instance.DestroyInternal();
             instance = null;
         }
     }
 }
        public void Start(DynamoModel model)
        {
            //Whether enabled or not, we still record the startup.
            Service.Instance.Register(new GATrackerFactory(ANALYTICS_PROPERTY));

            StabilityCookie.Startup();

            heartbeat = Heartbeat.GetInstance(model);

            logger = new UsageLog("Dynamo", UserId, SessionId);
        }
Beispiel #4
0
        public void Start(DynamoModel model)
        {
            //Whether enabled or not, we still record the startup.
            var service = Service.Instance;
            
            //Some clients such as Revit may allow start/close Dynamo multiple times
            //in the same session so register only if the factory is not registered.
            if(service.GetTrackerFactory(GATrackerFactory.Name) == null)
                service.Register(new GATrackerFactory(ANALYTICS_PROPERTY));

            StabilityCookie.Startup();

            heartbeat = Heartbeat.GetInstance(model);

            logger = new UsageLog("Dynamo", UserId, SessionId);
        }
Beispiel #5
0
        public void Dispose()
        {
            //Are we shutting down clean if so write 'nice shutdown' cookie
            if (DynamoModel.IsCrashing)
                StabilityCookie.WriteCrashingShutdown();
            else
                StabilityCookie.WriteCleanShutdown();

            Service.ShutDown();
            //Unregister the GATrackerFactory only after shutdown is recorded.
            //Unregister is required, so that the host app can re-start Analytics service.
            Service.Instance.Unregister(GATrackerFactory.Name);
            
            if (null != heartbeat)
                Heartbeat.DestroyInstance();
            heartbeat = null;

            if (null != logger)
                logger.Dispose();
            logger = null;
        }