OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 // Stores information about the user's brower and system configuration. | 5 // Stores information about the user's brower and system configuration. |
6 // The system configuration fields are recorded once per client session. | 6 // The system configuration fields are recorded once per client session. |
7 | 7 |
8 syntax = "proto2"; | 8 syntax = "proto2"; |
9 | 9 |
10 option optimize_for = LITE_RUNTIME; | 10 option optimize_for = LITE_RUNTIME; |
(...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
479 // The name of the field trial, as a 32-bit identifier. | 479 // The name of the field trial, as a 32-bit identifier. |
480 // Currently, the identifier is a hash of the field trial's name. | 480 // Currently, the identifier is a hash of the field trial's name. |
481 optional fixed32 name_id = 1; | 481 optional fixed32 name_id = 1; |
482 | 482 |
483 // The user's group within the field trial, as a 32-bit identifier. | 483 // The user's group within the field trial, as a 32-bit identifier. |
484 // Currently, the identifier is a hash of the group's name. | 484 // Currently, the identifier is a hash of the group's name. |
485 optional fixed32 group_id = 2; | 485 optional fixed32 group_id = 2; |
486 } | 486 } |
487 repeated FieldTrial field_trial = 9; | 487 repeated FieldTrial field_trial = 9; |
488 | 488 |
| 489 // Information about the A/V output device(s) (typically just a TV). |
| 490 // However, a configuration may have one or more intermediate A/V devices |
| 491 // between the source device and the TV (e.g. an A/V receiver, video |
| 492 // processor, etc.). |
| 493 message ExternalAudioVideoDevice { |
| 494 // The manufacturer name (possibly encoded as a 3-letter code, e.g. "YMH" |
| 495 // for Yamaha). |
| 496 optional string manufacturer_name = 1; |
| 497 |
| 498 // The model name (e.g. "RX-V1900"). Some devices may report generic names |
| 499 // like "receiver" or use the full manufacturer name (e.g "PHILIPS"). |
| 500 optional string model_name = 2; |
| 501 |
| 502 // The product code (e.g. "0218"). |
| 503 optional string product_code = 3; |
| 504 |
| 505 // The device types. A single device can have multiple types (e.g. a set-top |
| 506 // box could be both a tuner and a player). The same type may even be |
| 507 // repeated (e.g a device that reports two tuners). |
| 508 enum AVDeviceType { |
| 509 AV_DEVICE_TYPE_UNKNOWN = 0; |
| 510 AV_DEVICE_TYPE_TV = 1; |
| 511 AV_DEVICE_TYPE_RECORDER = 2; |
| 512 AV_DEVICE_TYPE_TUNER = 3; |
| 513 AV_DEVICE_TYPE_PLAYER = 4; |
| 514 AV_DEVICE_TYPE_AUDIO_SYSTEM = 5; |
| 515 } |
| 516 repeated AVDeviceType av_device_type = 4; |
| 517 |
| 518 // The year of manufacture. |
| 519 optional int32 manufacture_year = 5; |
| 520 |
| 521 // The week of manufacture. |
| 522 // Note: per the Wikipedia EDID article, numbering for this field may not |
| 523 // be consistent between manufacturers. |
| 524 optional int32 manufacture_week = 6; |
| 525 |
| 526 // Max horizontal resolution in pixels. |
| 527 optional int32 horizontal_resolution = 7; |
| 528 |
| 529 // Max vertical resolution in pixels. |
| 530 optional int32 vertical_resolution = 8; |
| 531 |
| 532 // Audio capabilities of the device. |
| 533 // Ref: http://en.wikipedia.org/wiki/Extended_display_identification_data |
| 534 message AudioDescription { |
| 535 // Audio format |
| 536 enum AudioFormat { |
| 537 AUDIO_FORMAT_UNKNOWN = 0; |
| 538 AUDIO_FORMAT_LPCM = 1; |
| 539 AUDIO_FORMAT_AC_3 = 2; |
| 540 AUDIO_FORMAT_MPEG1 = 3; |
| 541 AUDIO_FORMAT_MP3 = 4; |
| 542 AUDIO_FORMAT_MPEG2 = 5; |
| 543 AUDIO_FORMAT_AAC = 6; |
| 544 AUDIO_FORMAT_DTS = 7; |
| 545 AUDIO_FORMAT_ATRAC = 8; |
| 546 AUDIO_FORMAT_ONE_BIT = 9; |
| 547 AUDIO_FORMAT_DD_PLUS = 10; |
| 548 AUDIO_FORMAT_DTS_HD = 11; |
| 549 AUDIO_FORMAT_MLP_DOLBY_TRUEHD = 12; |
| 550 AUDIO_FORMAT_DST_AUDIO = 13; |
| 551 AUDIO_FORMAT_MICROSOFT_WMA_PRO = 14; |
| 552 } |
| 553 optional AudioFormat audio_format = 1; |
| 554 |
| 555 // Number of channels (e.g. 1, 2, 8, etc.). |
| 556 optional int32 num_channels = 2; |
| 557 |
| 558 // Supported sample frequencies in Hz (e.g. 32000, 44100, etc.). |
| 559 // Multiple frequencies may be specified. |
| 560 repeated int32 sample_frequency_hz = 3; |
| 561 |
| 562 // Maximum bit rate in bits/s. |
| 563 optional int32 max_bit_rate_per_second = 4; |
| 564 |
| 565 // Bit depth (e.g. 16, 20, 24, etc.). |
| 566 optional int32 bit_depth = 5; |
| 567 } |
| 568 repeated AudioDescription audio_description = 9; |
| 569 |
| 570 // The position in AV setup. |
| 571 // A value of 0 means this device is the TV. |
| 572 // A value of 1 means this device is directly connected to one of |
| 573 // the TV's inputs. |
| 574 // Values > 1 indicate there are 1 or more devices between this device |
| 575 // and the TV. |
| 576 optional int32 position_in_setup = 10; |
| 577 |
| 578 // Whether this device is in the path to the TV. |
| 579 optional bool is_in_path_to_tv = 11; |
| 580 |
| 581 // The CEC version the device supports. |
| 582 // CEC stands for Consumer Electronics Control, a part of the HDMI |
| 583 // specification. Not all HDMI devices support CEC. |
| 584 // Only devices that support CEC will report a value here. |
| 585 optional int32 cec_version = 12; |
| 586 |
| 587 // This message reports CEC commands seen by a device. |
| 588 // After each log is sent, this information is cleared and gathered again. |
| 589 // By collecting CEC status information by opcode we can determine |
| 590 // which CEC features can be supported. |
| 591 message CECCommand { |
| 592 // The CEC command opcode. CEC supports up to 256 opcodes. |
| 593 // We add only one CECCommand message per unique opcode. Only opcodes |
| 594 // seen by the device will be reported. The remainder of the message |
| 595 // accumulates status for this opcode (and device). |
| 596 optional int32 opcode = 1; |
| 597 |
| 598 // The total number of commands received from the external device. |
| 599 optional int32 num_received_direct = 2; |
| 600 |
| 601 // The number of commands received from the external device as part of a |
| 602 // broadcast message. |
| 603 optional int32 num_received_broadcast = 3; |
| 604 |
| 605 // The total number of commands sent to the external device. |
| 606 optional int32 num_sent_direct = 4; |
| 607 |
| 608 // The number of commands sent to the external device as part of a |
| 609 // broadcast message. |
| 610 optional int32 num_sent_broadcast = 5; |
| 611 |
| 612 // The number of aborted commands for unknown reasons. |
| 613 optional int32 num_aborted_unknown_reason = 6; |
| 614 |
| 615 // The number of aborted commands because of an unrecognized opcode. |
| 616 optional int32 num_aborted_unrecognized = 7; |
| 617 } |
| 618 repeated CECCommand cec_command = 13; |
| 619 } |
| 620 repeated ExternalAudioVideoDevice external_audio_video_device = 14; |
| 621 |
| 622 // Information about the current wireless access point. Collected directly |
| 623 // from the wireless access point via standard apis if the device is |
| 624 // connected to the Internet wirelessly. Introduced for Chrome on TV devices |
| 625 // but also can be collected by ChromeOS, Android or other clients. |
| 626 message ExternalAccessPoint { |
| 627 // The manufacturer name, for example "ASUSTeK Computer Inc.". |
| 628 optional string manufacturer = 1; |
| 629 |
| 630 // The model name, for example "Wi-Fi Protected Setup Router". |
| 631 optional string model_name = 2; |
| 632 |
| 633 // The model number, for example "RT-N16". |
| 634 optional string model_number = 3; |
| 635 |
| 636 // The device name (sometime same as model_number), for example "RT-N16". |
| 637 optional string device_name = 4; |
| 638 } |
| 639 optional ExternalAccessPoint external_access_point = 15; |
| 640 |
489 // Number of users currently signed into a multiprofile session. | 641 // Number of users currently signed into a multiprofile session. |
490 // A zero value indicates that the user count changed while the log is open. | 642 // A zero value indicates that the user count changed while the log is open. |
491 // Logged only on ChromeOS. | 643 // Logged only on ChromeOS. |
492 optional uint32 multi_profile_user_count = 17; | 644 optional uint32 multi_profile_user_count = 17; |
493 | 645 |
494 // Information about extensions that are installed, masked to provide better | 646 // Information about extensions that are installed, masked to provide better |
495 // privacy. Only extensions from a single profile are reported; this will | 647 // privacy. Only extensions from a single profile are reported; this will |
496 // generally be the profile used when the browser is started. The profile | 648 // generally be the profile used when the browser is started. The profile |
497 // reported on will remain consistent at least until the browser is | 649 // reported on will remain consistent at least until the browser is |
498 // relaunched (or the profile is deleted by the user). | 650 // relaunched (or the profile is deleted by the user). |
499 // | 651 // |
500 // Each client first picks a value for client_key derived from its UMA | 652 // Each client first picks a value for client_key derived from its UMA |
501 // client_id: | 653 // client_id: |
502 // client_key = client_id % 4096 | 654 // client_key = client_id % 4096 |
503 // Then, each installed extension is mapped into a hash bucket according to | 655 // Then, each installed extension is mapped into a hash bucket according to |
504 // bucket = CityHash64(StringPrintf("%d:%s", | 656 // bucket = CityHash64(StringPrintf("%d:%s", |
505 // client_key, extension_id)) % 1024 | 657 // client_key, extension_id)) % 1024 |
506 // The client reports the set of hash buckets occupied by all installed | 658 // The client reports the set of hash buckets occupied by all installed |
507 // extensions. If multiple extensions map to the same bucket, that bucket is | 659 // extensions. If multiple extensions map to the same bucket, that bucket is |
508 // still only reported once. | 660 // still only reported once. |
509 repeated int32 occupied_extension_bucket = 18; | 661 repeated int32 occupied_extension_bucket = 18; |
510 } | 662 } |
OLD | NEW |