Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(307)

Side by Side Diff: chrome/browser/policy/device_management_backend_impl.cc

Issue 7105018: UMA metrics for cloud policies. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix win build, rebased Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/policy/device_management_backend_impl.h" 5 #include "chrome/browser/policy/device_management_backend_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #if defined(OS_POSIX) && !defined(OS_MACOSX) 10 #if defined(OS_POSIX) && !defined(OS_MACOSX)
11 #include <sys/utsname.h> 11 #include <sys/utsname.h>
12 #endif 12 #endif
13 13
14 #include "base/metrics/histogram.h"
14 #include "base/stringprintf.h" 15 #include "base/stringprintf.h"
15 #include "base/sys_info.h" 16 #include "base/sys_info.h"
16 #include "chrome/browser/policy/device_management_service.h" 17 #include "chrome/browser/policy/device_management_service.h"
18 #include "chrome/browser/policy/enterprise_metrics.h"
17 #include "chrome/common/chrome_version_info.h" 19 #include "chrome/common/chrome_version_info.h"
18 #include "net/base/escape.h" 20 #include "net/base/escape.h"
19 #include "net/url_request/url_request_status.h" 21 #include "net/url_request/url_request_status.h"
20 22
21 #if defined(OS_CHROMEOS) 23 #if defined(OS_CHROMEOS)
22 #include "chrome/browser/chromeos/system_access.h" 24 #include "chrome/browser/chromeos/system_access.h"
23 #endif 25 #endif
24 26
25 namespace policy { 27 namespace policy {
26 28
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 SetAuthToken(auth_token); 297 SetAuthToken(auth_token);
296 em::DeviceManagementRequest request_wrapper; 298 em::DeviceManagementRequest request_wrapper;
297 request_wrapper.mutable_register_request()->CopyFrom(request); 299 request_wrapper.mutable_register_request()->CopyFrom(request);
298 SetPayload(request_wrapper); 300 SetPayload(request_wrapper);
299 } 301 }
300 virtual ~DeviceManagementRegisterJob() {} 302 virtual ~DeviceManagementRegisterJob() {}
301 303
302 private: 304 private:
303 // DeviceManagementJobBase overrides. 305 // DeviceManagementJobBase overrides.
304 virtual void OnError(DeviceManagementBackend::ErrorCode error) { 306 virtual void OnError(DeviceManagementBackend::ErrorCode error) {
307 MetricToken sample;
308 switch (error) {
309 case DeviceManagementBackend::kErrorRequestInvalid:
310 case DeviceManagementBackend::kErrorRequestFailed:
311 sample = kMetricTokenFetchRequestFailed;
312 break;
313 case DeviceManagementBackend::kErrorServiceDeviceNotFound:
314 sample = kMetricTokenFetchDeviceNotFound;
315 break;
316 case DeviceManagementBackend::kErrorServiceManagementNotSupported:
317 sample = kMetricTokenFetchManagementNotSupported;
318 break;
319 default:
320 sample = kMetricTokenFetchServerFailed;
321 break;
322 }
323 UMA_HISTOGRAM_ENUMERATION(kMetricToken, sample, kMetricTokenSize);
305 delegate_->OnError(error); 324 delegate_->OnError(error);
306 } 325 }
307 virtual void OnResponse(const em::DeviceManagementResponse& response) { 326 virtual void OnResponse(const em::DeviceManagementResponse& response) {
327 UMA_HISTOGRAM_ENUMERATION(kMetricToken, kMetricTokenFetchResponseReceived,
328 kMetricTokenSize);
308 delegate_->HandleRegisterResponse(response.register_response()); 329 delegate_->HandleRegisterResponse(response.register_response());
309 } 330 }
310 331
311 DeviceManagementBackend::DeviceRegisterResponseDelegate* delegate_; 332 DeviceManagementBackend::DeviceRegisterResponseDelegate* delegate_;
312 333
313 DISALLOW_COPY_AND_ASSIGN(DeviceManagementRegisterJob); 334 DISALLOW_COPY_AND_ASSIGN(DeviceManagementRegisterJob);
314 }; 335 };
315 336
316 // Handles device unregistration jobs. 337 // Handles device unregistration jobs.
317 class DeviceManagementUnregisterJob : public DeviceManagementJobBase { 338 class DeviceManagementUnregisterJob : public DeviceManagementJobBase {
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 SetDeviceManagementToken(device_management_token); 386 SetDeviceManagementToken(device_management_token);
366 em::DeviceManagementRequest request_wrapper; 387 em::DeviceManagementRequest request_wrapper;
367 request_wrapper.mutable_policy_request()->CopyFrom(request); 388 request_wrapper.mutable_policy_request()->CopyFrom(request);
368 SetPayload(request_wrapper); 389 SetPayload(request_wrapper);
369 } 390 }
370 virtual ~DeviceManagementPolicyJob() {} 391 virtual ~DeviceManagementPolicyJob() {}
371 392
372 private: 393 private:
373 // DeviceManagementJobBase overrides. 394 // DeviceManagementJobBase overrides.
374 virtual void OnError(DeviceManagementBackend::ErrorCode error) { 395 virtual void OnError(DeviceManagementBackend::ErrorCode error) {
396 MetricPolicy sample;
397 switch (error) {
398 case DeviceManagementBackend::kErrorRequestInvalid:
399 case DeviceManagementBackend::kErrorRequestFailed:
400 sample = kMetricPolicyFetchRequestFailed;
401 break;
402 case DeviceManagementBackend::kErrorServicePolicyNotFound:
403 sample = kMetricPolicyFetchNotFound;
404 break;
405 case DeviceManagementBackend::kErrorServiceManagementTokenInvalid:
406 sample = kMetricPolicyFetchInvalidToken;
407 break;
408 default:
409 sample = kMetricPolicyFetchServerFailed;
410 break;
411 }
412 UMA_HISTOGRAM_ENUMERATION(kMetricPolicy, sample, kMetricPolicySize);
375 delegate_->OnError(error); 413 delegate_->OnError(error);
376 } 414 }
377 virtual void OnResponse(const em::DeviceManagementResponse& response) { 415 virtual void OnResponse(const em::DeviceManagementResponse& response) {
416 UMA_HISTOGRAM_ENUMERATION(kMetricPolicy, kMetricPolicyFetchResponseReceived,
417 kMetricPolicySize);
378 delegate_->HandlePolicyResponse(response.policy_response()); 418 delegate_->HandlePolicyResponse(response.policy_response());
379 } 419 }
380 420
381 DeviceManagementBackend::DevicePolicyResponseDelegate* delegate_; 421 DeviceManagementBackend::DevicePolicyResponseDelegate* delegate_;
382 422
383 DISALLOW_COPY_AND_ASSIGN(DeviceManagementPolicyJob); 423 DISALLOW_COPY_AND_ASSIGN(DeviceManagementPolicyJob);
384 }; 424 };
385 425
386 DeviceManagementBackendImpl::DeviceManagementBackendImpl( 426 DeviceManagementBackendImpl::DeviceManagementBackendImpl(
387 DeviceManagementService* service) 427 DeviceManagementService* service)
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 void DeviceManagementBackendImpl::AddJob(DeviceManagementJobBase* job) { 500 void DeviceManagementBackendImpl::AddJob(DeviceManagementJobBase* job) {
461 pending_jobs_.insert(job); 501 pending_jobs_.insert(job);
462 service_->AddJob(job); 502 service_->AddJob(job);
463 } 503 }
464 504
465 void DeviceManagementBackendImpl::ProcessRegisterRequest( 505 void DeviceManagementBackendImpl::ProcessRegisterRequest(
466 const std::string& auth_token, 506 const std::string& auth_token,
467 const std::string& device_id, 507 const std::string& device_id,
468 const em::DeviceRegisterRequest& request, 508 const em::DeviceRegisterRequest& request,
469 DeviceRegisterResponseDelegate* delegate) { 509 DeviceRegisterResponseDelegate* delegate) {
510 UMA_HISTOGRAM_ENUMERATION(kMetricToken, kMetricTokenFetchRequested,
511 kMetricTokenSize);
470 AddJob(new DeviceManagementRegisterJob(this, auth_token, device_id, request, 512 AddJob(new DeviceManagementRegisterJob(this, auth_token, device_id, request,
471 delegate)); 513 delegate));
472 } 514 }
473 515
474 void DeviceManagementBackendImpl::ProcessUnregisterRequest( 516 void DeviceManagementBackendImpl::ProcessUnregisterRequest(
475 const std::string& device_management_token, 517 const std::string& device_management_token,
476 const std::string& device_id, 518 const std::string& device_id,
477 const em::DeviceUnregisterRequest& request, 519 const em::DeviceUnregisterRequest& request,
478 DeviceUnregisterResponseDelegate* delegate) { 520 DeviceUnregisterResponseDelegate* delegate) {
479 AddJob(new DeviceManagementUnregisterJob(this, device_management_token, 521 AddJob(new DeviceManagementUnregisterJob(this, device_management_token,
480 device_id, request, delegate)); 522 device_id, request, delegate));
481 } 523 }
482 524
483 void DeviceManagementBackendImpl::ProcessPolicyRequest( 525 void DeviceManagementBackendImpl::ProcessPolicyRequest(
484 const std::string& device_management_token, 526 const std::string& device_management_token,
485 const std::string& device_id, 527 const std::string& device_id,
486 const em::DevicePolicyRequest& request, 528 const em::DevicePolicyRequest& request,
487 DevicePolicyResponseDelegate* delegate) { 529 DevicePolicyResponseDelegate* delegate) {
530 UMA_HISTOGRAM_ENUMERATION(kMetricPolicy, kMetricPolicyFetchRequested,
531 kMetricPolicySize);
488 AddJob(new DeviceManagementPolicyJob(this, device_management_token, device_id, 532 AddJob(new DeviceManagementPolicyJob(this, device_management_token, device_id,
489 request, delegate)); 533 request, delegate));
490 } 534 }
491 535
492 } // namespace policy 536 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/policy/cloud_policy_controller.cc ('k') | chrome/browser/policy/device_policy_cache.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698